在火狐和ie 浏览器下,使用js的滚轮事件设置元素的top值,元素为啥会出现震动的效果,求大神帮忙。感谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在火狐和ie 浏览器下,使用js的滚轮事件设置元素的top值,元素为啥会出现震动的效果,求大神帮忙。感谢相关的知识,希望对你有一定的参考价值。

请看代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css" media="screen">
.wrap
width: 500px;
height: 500px;
border: 1px solid #000;
overflow: auto;
position: relative;

.inner
width: 500px;
height: 1000px;
border: 1px solid red;

.center
width: 500px;
height: 100px;
background: blue;
margin: 0 auto;
position: absolute;
top: 0;
left: 0;

</style>
</head>
<body>
<div class="wrap">
<div class="inner">
<div class="center">

</div>
</div>
</div>
</body>
<script type="text/javascript">

var wrap = document.querySelector(".wrap");

//获取定位元素
var center = document.querySelector(".center");
// 滚动事件
wrap.onscroll = function()
var scrTop = wrap.scrollTop;
console.log(scrTop);
center.style.top = scrTop+"px";

</script>
</html>

参考技术A 不是IE正常,是IE不正常,FF是遵循W3C的标准的,而MS玩的是自己的标准,在Margin问题上,IE和FF不统一,主要是在IE6上,如果想做兼容,就用JS做浏览器判断,然后根据浏览器做不同的值设置追问

我需要的是最里面的一个div固定在一个位置,不管怎么滚动,都在同一个位置,现在是设置了position: absolute;当我滚动滚动条,top的值是scrollTop的值。出现的问题就是这个div它会闪动,然后又恢复原来的位置

JS怎么禁止鼠标滚轮的单击 IE下! 注意是滚轮去单击 而不是滚动!

参考技术A 楼上哥们的代码原理没有错,
但是a标签的禁用要另写代码,
因为,事件的冒泡原理,
所有事件最终都会冒泡到document对象,但是
a标签
的单击和href跳转
等到冒泡到
document的时候
已经触发了,而且
document
的鼠标按下事件
return
false;取消的也只是
document.onmousedown
事件,
所以,要在a标签上禁止鼠标中键
就要:
在页面的所有a标签上
绑定鼠标按下事件
并判断按下的是否是鼠标中键,
然后取消掉该元素的默认事件,从而使其无效。
我的意思是:楼上哥们的代码你要用,并且你还要单独再写一个
针对a标签鼠标中键的代码。

以上是关于在火狐和ie 浏览器下,使用js的滚轮事件设置元素的top值,元素为啥会出现震动的效果,求大神帮忙。感谢的主要内容,如果未能解决你的问题,请参考以下文章

JS 在IE和火狐的兼容问题

js中的鼠标滚轮事件

js中键盘事件e.which,火狐浏览器不支持!在线等!

火狐浏览器下用js为img元素添加点击事件

网页界面怎么调整大小

滚轮事件