
transform本身就是变形属性,不会改变元素的位置大小等,布局不发生变化,只是对元素进行变换。
所以js获取的宽高是元素未变形前的值,需要获取缩放后的宽高,可以用元素的宽高乘以缩放值。
根本不是epageY、epageX的问题
你没有给div11 加position:absolute; 肯定显示在页面最下面了
$("#11")css({
"top": epageY,"left": epageX
,"backgroundColor":"yellow"})show("fast");
改成
$("#11")css({
position:"absolute","top": epageY,"left": epageX
,"backgroundColor":"yellow"})show("fast");
就行了
function handleTouchEvent(event) {
//只跟踪一次触摸
if (eventtoucheslength == 1) {
var output = documentgetElementById("output");
switch (eventtype) {
case "touchstart":
outputinnerHTML = "Touch started (" + eventtouches[0]clientX + "," + eventtouches[0]clientY + ")";
break;
case "touchend":
outputinnerHTML += "<br>Touch ended (" + eventchangedTouches[0]clientX + "," + eventchangeTouches[0]clientY + ")";
break;
case "touchmove":
eventpreventDefault(); //阻止滚动
outputinnerHTML += "<br>Touch moved (" + eventchangedTouches[0]clientX + "," + eventchangedTouches[0]clientY + ")";
break;
}
}
}
documentaddEventListener("touchstart", handleTouchEvent, false);
documentaddEventListener("touchend", handleTouchEvent, false);
documentaddEventListener("touchmove", handleTouchEvent, false);
1 touchstart :手指放在一个DOM元素上。
2 touchmove :手指拖曳一个DOM元素。
3 touchend :手指从一个DOM元素上移开
原因很不好判定,这种方式定位出现错误的原因挺多的,要考虑css和html的具体写法,有时候某些不标准的写法会造成jQuery的定位数据不准确。
建议换个方式,例如每个<tr>中第一列放置一个<th></th>,后面是<td>,然后你的红框放到<th>里面,这样计算量就小多了,而且显示的也快一点。
以上就是关于jQuery如何获取transform缩放后的宽高坐标位置全部的内容,包括:jQuery如何获取transform缩放后的宽高坐标位置、JQuery如何获取到鼠标提留位置的坐标用e.pageX,e.pageY好像没生效。。高手帮看看吧、jquery如何获取手机网页触屏坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)