滚动功能IE出错
Error on scroll function IE
我在IE的滚动功能有问题。
下面的代码http://jsfiddle.net/VdNQL/
这里的问题是,当你点击链接(顶部)它会去到特定的地方,但之前它只是在它走了一次之后。在Firefox和chrome中都能看到。我认为问题出在jquery上。这是我的jquery。
$(document).ready(function(){
$(window).scroll(function(){
if ($(this).scrollTop() > 50) {
$('div').addClass("k");
} else {
$('div').removeClass("k");
}
});
$("a").bind('click', function() {
var hash = $(this).attr("href");
$('html, body').animate({ scrollTop: $(hash).position().top - 50 }, 1000);
});
});
谢谢你的建议。
用.preventDefault()
停止link元素的默认动作
$("a").bind('click', function(ev) {
ev.preventDefault();
var hash = $(this).attr("href");
$('html, body').animate({ scrollTop: $(hash).position().top - 50 }, 1000);
});
http://jsfiddle.net/VdNQL/2/这是因为你的href click也试图在同一时间工作。防止默认的href行为。这消除了抖动行为。
$("a").bind('click', function(event) {
event.preventDefault();
var hash = $(this).attr("href");
$('html, body').animate({ scrollTop: $(hash).position().top - 50 }, 1000);
});
在您的代码中,当窗口滚动顶部大于50时,将类k添加到div中。在类k中,您将top设置为1px。所以你的脚本将顶部设置为1px,然后开始动画。
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- javascript中的数组出错
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 循环时 IE 中出错
- 获取 IE 和 Firefox 错误:解析值“xxx”时出错.声明被丢弃
- SCRIPT5022:在IE上附加元素时出错
- IE 9出错-'SCRIPT600:此操作的目标元素无效
- 什么会导致IE出错对象不支持属性或方法'removeChild'
- 在IE中关闭Iframe时出错
- 使用$时出错.ajax在IE上键入GET
- 在ie浏览器中初始化range .js时出错
- 在IE中使用Dojo创建样式对象时出错
- Jquery在3539行使用IE时出错
- Facebook feed: FB.ui()在Firefox中工作,但在Chrome (Safari, IE)中出错
- iframe中的加载站点在IE中出错
- "NaN”;asp classic中提交值的IE出错
- 滚动功能IE出错