js 怎么知道鼠标向上或者向下滚动!请讲详细点!

JavaScript010

js 怎么知道鼠标向上或者向下滚动!请讲详细点!,第1张

<!DOCTYPE HTML>

<html>

<head>

<meta charset=utf-8>

<title>yugi</title>

<style>

body{

    height: 1111px

}

</style>

<script>

var agent = navigator.userAgent

if (/.*Firefox.*/.test(agent)) {

    document.addEventListener("DOMMouseScroll", function(e) {

        e = e || window.event

        var detail = e.detail

        if (detail > 0) {

            console.log("鼠标向下滚动")

        } else {

            console.warn("鼠标向上滚动")

        }

    })

} else {

    document.onmousewheel = function(e) {

        e = e || window.event

        var wheelDelta = e.wheelDelta

        if (wheelDelta > 0) {

            console.log("鼠标向上滚动")

        } else {

            console.warn("鼠标向下滚动")

        }

    }

}

</script>

</head>

<body>

</body>

</html>

html已经封好了,不用js,

在html页面里用拷下面的标签试试

<marquee direction="down">

<dl>

<dt><b>我的账户</b>

<dd style="color:blue">基本资料</dd>

<dd style="color:blue">修改密码</dd>

<dd style="color:blue">修改头像</dd>

</dt>

<dt><b>好友</b>

<dd style="color:blue">我的好友</dd>

<dd style="color:blue">好友管理</dd>

<dd style="color:blue">查找好友</dd>

</dt>

</dl>

</marquee>

向上滚动 改个参数即可。。

解释:当元素的滚动条滚动时触发的事件。

onscroll事件貌似任何实体元素都可以绑定,这里的实体元素包括DOM元素、window元素、document元素。

用法即:element.onscroll=function(){}

需要注意的是,滚动条一定要出现,而且滚动条是属于这元素的,例如:

因为外层wrap的高度小于内层inner的高度,所以当设置overflow:auto时会出现滚动条,当拖动滚动条时就会触发wrap的onscroll事件,而不是inner的onscroll事件,即这滚动条属于wrap而不是属于inner,明白这点十分重要,对下面理解的scrollTop、scrollHeight一样道理。

解释:元素滚动条内的顶部隐藏部分的高度。

scrollTop属性只有DOM元素才有,window/document没有。

用法1:获取值 var top = element.scrollTop//返回数字,单位像素

用法2:设置值 element.scrollTop = 200

对上面的例子来说,控制滚动条的位置是wrap.scrollTop=xx而不是inner.scrollTop,道理同上。

兼容性问题:获得整个文档scrollTop,IE是document.documentElement.scrollTop,FF/CH则是document.body.scrollTop.

解释:元素滚动条内的内容高度。

scrollHeight同scrollTop属性一样,只有DOM元素才有,window/document没有。

不同的是scrollHeight是只读,不可设置。

兼容性问题:获取整个文档scrollHeight,IE/FF/CH都可以通过document.documentElement.scrollHeight或document.body.scrollHeight获得。

此外还有scrollLeft,scrollWidth,道理是一样的。

这3个是全局函数,最新的IE/FF/CH都支持。

window.scroll(x,y)是让window滚动条滚动到那个x,y坐标。//x是水平坐标,y是垂直坐标。

window.scrollBy(-x,-y)是让window滚动条相对滚动到某个坐标,- 10即相对向左/向上滚动10像素。

window.scrollTo(x,y)和window.scroll(x,y)一样。