javascript技能

电脑杂谈  发布时间:2020-08-05 07:05:43  来源:网络整理

winform mousemove 鼠标变成小手_css mousemove 获得鼠标位置_mfc获得鼠标位置

JavaScript和CSS的复习(3)

更新时间: 2010年6月29日02:03:11转载作者:

嘿,我又做了三部曲. 这是最后一部分,关于鼠标和浏览器本身的一些属性.

首先让我们看一下如何获得相对于整个页面的光标位置,因为光标位置变量x和y通常是通过鼠标事件(例如mousemove或mousedown)获得的. 以下两个常规函数用于获取相对于页面当前整体位置的光标.

复制代码,代码如下:

//获取光标的水平位置

function getX(e){

//广义事件对象

e = e || window.event;

///首先检查非IE浏览器的位置,检查IE的位置

返回e.pageX || e.clientX + document.body.scrollLeft;

}

//获取光标的垂直位置

函数getY(e){

//广义事件对象

e = e || window.event;

///首先检查非IE浏览器的位置,检查IE的位置

返回e.pageY || e.clientY + document.body.scrollTop;

}

css mousemove 获得鼠标位置_mfc获得鼠标位置_winform mousemove 鼠标变成小手

例如,FF中的e.pageX是整个页面的X坐标(包括滚动条的滚动距离),而在IE中,e.clientX代表当前显示在用户前面的视图中的X坐标,加上document.body.scrollLeft(水平滚动条的距离)是完整的X坐标位置.

以下概念是视口,可以将其视为浏览器滚动条中的所有内容. 视口还包含的某些组件是视口窗口,页面和滚动条.

获取页面大小:

复制代码,代码如下:

//返回页面的高度(添加内容时可能会更改)

function pageHeight(){

返回document.body.scrollHeight;

}

//返回页面宽度

function pageWidth(){

返回document.body.scrollWidht;

}

scrollHeight和scrollWidth(单击查看),它们详细描述了元素的潜在宽度和高度,而不仅仅是当前显示的大小.

接下来,我们将获取滚动条的位置,换句话说,就是从页面顶部到视口的距离.

复制代码,代码如下:

//确定浏览器水平滚动位置的功能

function scrollX(){

//一个快捷方式,在IE6 / 7的严格模式下使用

var de = document.documentElement;

mfc获得鼠标位置_css mousemove 获得鼠标位置_winform mousemove 鼠标变成小手

//如果浏览器具有pageXOffset属性,请使用它

返回self.pageXOffset ||

//否则,尝试获取根节点左端的滚动偏移量

(de && de.scrollLeft)||

//最后,尝试获取body元素左端的滚动偏移量

document.body.scrollLeft;

}

//确定浏览器垂直滚动位置的功能

function scrollY(){

//一个快捷方式,在IE6 / 7的严格模式下使用

var de = document.documentElement;

//如果浏览器具有pageYOffset属性,请使用它

返回self.pageYOffset ||

//否则,尝试获取根节点的顶部滚动偏移量

(de && de.scrollTop)||

//最后,尝试获取body元素的顶部滚动偏移量

document.body.scrollTop;

}

让我们看一下如何移动滚动条. 我们可以使用scrollTo方法. 它作为窗口对象的属性存在. 它有两个参数,x和y偏移量,可以滚动到视口. 位置,两个例子

css mousemove 获得鼠标位置_mfc获得鼠标位置_winform mousemove 鼠标变成小手

复制代码,代码如下:

///如果需要滚动到浏览器顶部,可以这样做

window.scrollTo(0,0)

///如果需要滚动到指定的元素,则可以这样做

window.scrollTo(0,pageY(document.getElementById('content')));

如果您不熟悉pageY函数,则可以回过头来学习获取元素在整个文档中的位置,再次给出该元素,然后让自己进行合并

复制代码,代码如下:

//获取元素的Y位置

函数pageY(elem){

//检查我们是否在根元素上

返回elem.offsetParent吗?

///如果我们可以继续获取上一个元素,请增加当前偏移量并继续递归

elem.offsetTop + pageY(elem.offsetParent):

//否则,获取当前偏移量

elem.offsetTop;

}

让我们学习如何获取视口的大小. 通过获取视口的大小,我们可以洞悉用户当前可以看到多少内容.

复制代码,代码如下:

//获取视口的高度

winform mousemove 鼠标变成小手_mfc获得鼠标位置_css mousemove 获得鼠标位置

function windowHeight(){

//一个快捷方式,在IE6 / 7的严格模式下使用

var de = document.documentElement;

//如果浏览器具有innerHeight属性,请使用

返回self.innerHeight ||

//否则,尝试获取根节点的高度

(de && de.clientHeight)||

//最后,尝试获取body元素的高度

document.body.clientHeight;

}

//获取视口的宽度

function windowWidth(){

//一个快捷方式,在IE6 / 7的严格模式下使用

var de = document.documentElement;

//如果浏览器具有innerWidth属性,请使用

返回self.innerWidth ||

//否则,尝试获取根节点的宽度

(de && de.clientWidth)||

//最后,尝试获取body元素的宽度

document.body.clientWidth;

}

也许您可能对innerHeight,clientHeight和其他属性有疑问,只需直接单击即可. 在Mozilla开发人员中心中,解释非常清楚.

最后,让我们谈谈更有趣的效果,该效果在网络前端也很流行-“拖放”. 作者没有给出具体的实现方式,但引用了一个不错的js库dom-drag.js. 您可以学习大师的源代码,并介绍几个流行的js库,包括jquery. 好了,JavaScript和CSS的评论在这里. 如有任何疑问,请留言进行讨论.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-292236-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 夏方庆
        夏方庆

        我们就不仅仅是丧失机遇的问题了

      热点图片
      拼命载入中...