到目前为止,这就是我所做的:
function getOffsetRect(elem) {
var box = elem.getBoundingClientRect()
var body = document.body
var docElem = document.documentElement
var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop
var scrollLeft = window.pageXOffset || docElem.scrollLe
当用户点击网站上的任何地方时,我想注册鼠标x和y pos并打印出来。
问题:它每次输出0,0个位置。
这个函数得到x和y的位置
// get the position of click
function getPosition(el) {
var xPosition = 0;
var yPosition = 0;
while (el) {
if (el.tagName == "BODY") {
// deal with browser quirks with body/window/document and page scroll
对于如何获得相对于画布本身的事件在画布元素上的坐标,这里有很多答案,如Stack溢出。我使用了以下解决方案(getEventPosition),它运行得很好,除了在画布中添加边框时的(除外):
/**** This solution gives me an offset equal to the border size
**** when the canvas has a border. Example:
**** <canvas style='border: 10px solid black; background: #333;' id='gauge_can
我有这样的代码:
jQuery.fn.getPos=function()
{
var o=this[0];
var left=0,top=0,parentNode=null,offsetParent=null;
var offsetParent=o.offsetParent;
var original=o;
var el=o;
while(el.parentNode!=null){
el=el.parentNode;
if(el.offsetParent!=null){
var sc
所以我有这样的代码,它过去在普通的事件侦听器中工作得很好,但我只是将触发器改为html onclick(),现在我的弹出窗口总是显示在左下角;我不明白这有什么不同:
HTML:
<span onclick="edit(this)"></span>
JS:
function edit(target){
var left = (target.clientX - 40) + "px";
var top = (target.clientY - 40)+ "px";
$("#popup").css(
我已经创建了一个弹出覆盖,目前设置为当您单击一个按钮。但是,我希望这样,当您最初在网站上滚动,然后移动您的光标到页面的顶部(例如,面向导航)时,弹出窗口就会出现。
Javascript
// Initialize Variables
var closePopup = document.getElementById("popupclose");
var overlay = document.getElementById("overlay");
var popup = document.getElementById("popup");
var but
尝试识别单击的x和y坐标的相对值和父容器的偏移量,以找到在网页上单击鼠标的真实值。
问题是:我在屏幕上以x和y的形式显示NaN?不知道为什么?
// get the position of click
function getPosition(el) {
var xPosition = 0;
var yPosition = 0;
while (el) {
if (el.nodeName == "BODY") {
// deal with browser quirks with body/window/document and page scr
我有以下函数,它像冠军一样工作:
//To find the position of an element
function getPosition(el) {
var xPos = 0;
var yPos = 0;
while (el) {
if (el.tagName == "BODY") {
// deal with browser quirks with body/window/document and page scroll
var xScroll = el.scrollLeft || document.docum
var canvas=document.getElementById('canvas');
var ctx=canvas.getContext("2d");
var mouseX=0;
var mouseY=0;
var canvasPos=getPosition(canvas);
ctx.addEventListener("mousemove",setMousePosition,false);
function getPosition(e1) {
var xPosition = 0;
var yPosition = 0;
w
假设我有一个SVG元素作为背景。使用以下工作代码获取移动鼠标的x & y坐标以及视图宽度和高度,我希望动态计算给定任意视口宽度和高度的SVG元素的某个部分的坐标,因为我希望为该部分分配一个onclick()。
var eventDoc, doc, bodyDoc;
e = e || window.e;
var x = e.originalEvent.touches ? e.originalEvent.touches[0].pageY : e.pageY;
var y = e.originalEvent.touches ? e.originalEvent.touches[0].pageX
我正在编写一个将js代码注入页面的chrome应用程序,当用户选择任何文本时,文本旁边会显示一个弹出式窗口。我使用以下代码来接收所选文本的坐标:
var rect = window.getSelection().getRangeAt(0).getBoundingClientRect();
var bottom = rect.bottom + document.body.scrollTop;
var left = rect.left + document.body.scrollLeft
它工作得很好,除了当用户选择输入区域内的一些文本时,当他这样做时,左下边界矩形坐标是(