
scrolly = epageX - imageTop - ($("divrawimage")height()1/scaley)/2 ;
epageX 鼠标停留地x坐标值
var imageTop = $(this)get(0)offsetTop; imgsmallimg控件相对于父容器的top值
scaley类似于imageTop,获取相对于父容器的位置,具体看上面代码指向,不加详细说明了。
$("divrawimage")height()获取divrawimage控件的高。
根本不是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");
就行了
在 JS获取div高度的方法 中,整理了几个有关于获取div高度的方法,后来又遇到一个问题,怎么获取DIV在页面中的绝对位置,因此在这篇笔记中记录一下。
页面结构
样式
getBoundingClientRect用于获取某个元素 相对于视窗 的位置集合。集合中有top, right, bottom, left等属性。
offsetLeft指的是元素相对于 版面或 由 offsetParent 属性指定的 父坐标 的计算上侧位置,整型,单位像素。
借用这个思路,当我们想获取元素的绝对位置时,可以递归遍历,直到元素的父元素为body为止。
关于offsetParent属性,有以下几点Tips。
首先要让DIV启用编辑模式
<div contenteditable=true id="divTest"></div>
通过设定contenteditable=true开启div的编辑模式这样DIV就可以跟文本框一样输入内容了。
不扯话题了。下面说怎么获取或设置光标位置
2个步骤
1:获取DIV中的光标位置
2:改变光标位置
var cursor = 0; // 光标位置
documentonselectionchange = function () {
var range = documentselectioncreateRange();
var srcele = rangeparentElement();//获取到当前元素
var copy = documentbodycreateTextRange();
copymoveToElementText(srcele);
for (cursor = 0; copycompareEndPoints("StartToStart", range) < 0; cursor++) {
copymoveStart("character", 1);//改变光标位置,实际上我们是在记录cursor的数量
}
}
给document绑定光标变化事件。用来记录光标位置
这样就可以拿到DIV的光标位置了
给特定的层注册onomuseover事件,在事件处理函数里用定时器来循环获得
var x,y;
setInterval(function(e){
e = e || windowevent;
x = epageX;
y = epageY;
},1000);处理一下兼容性就好了。
获取鼠标当前位置只需:pageX、pageY即可。
具体步骤如下:
1、新建一个html代码页面,在这个html页面找到<body>,然后在这个<body>里创建一个用来显示坐标位置的<div>,并给这个<div>添加一个id。
创建<div>的代码:<div id="point-loc"></div>
2、使用pageX、pageY获取鼠标当前位置。在<title>标签后面新建一个<script>,创建鼠标移动时获取鼠标当前的位置。
js代码:<script type="text/javascript">
documentonmousemove = function(e){
var loc = "当前位置 x:"+epageX+",y:"+epageY
documentgetElementById("point-loc")innerHTML = loc;
}
</script>
3、保存html后使用浏览器打开即可得到鼠标位置
使用以上方法即可获取鼠标位置哦。
f = urllib2urlopen(url)
req = fread()
soup = BeautifulSoup(req)
content = soupfindAll(attrs={"name":"readonlycounter2"})
subId = content[0]stringsplit(',')[1]
subName = souphtmlbodyh1spanstring
content = soupfindAll(attrs={"class":"subdes_td"})
subType = content[0]string
subLeg = content[1]string
content = soupfindAll(attrs={"colspan":"3"})
subTime = content[2]string
subFile = content[7]divstring
目标:div在页面中可随鼠标移动
如果将事件绑定在box上,那么只有鼠标向下向右移动时,才处于box的区间内,才能完成事件响应,但如果想要向左,向上移动,就不能将事件绑定在box上,应绑定在document上
此时,因为使用的是clientX,是用于获取鼠标在当前的可见窗口的坐标,而div的偏移量,是相对于整个页面的。所以此时增加body高度或宽度,就会因为client与div在页面滚动时(0,0)点位置不同,使鼠标与div分离。
且此时鼠标与div之间的距离 = 窗口滚动的距离;
pageX和pageY可以获取鼠标相对于当前页面的坐标
但是这个两个属性在IE8中不支持,所以如果需要兼容IE8,则不要使用
为兼容浏览器,需要修改div偏移量,将窗口滚动距离加到div偏移量里
chrome认为浏览器的滚动条是body的,可以通过bodyscrollTop来获取,火狐等浏览器认为浏览器的滚动条是html的,同样,为了兼容不同浏览器
完整源码为:
以上就是关于scrolly = e.pageX - imageTop - ($("div.rawimage").height()*1/scaley)/2 ;不明白这句什么意思,求问全部的内容,包括:scrolly = e.pageX - imageTop - ($("div.rawimage").height()*1/scaley)/2 ;不明白这句什么意思,求问、JQuery如何获取到鼠标提留位置的坐标用e.pageX,e.pageY好像没生效。。高手帮看看吧、原生JS获取页面中DIV绝对位置的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)