我在IE中的滚动功能有问题。
这里的问题是,当你点击链接(顶部)时,它将会到达特定的位置,但在它到达之前它只会被震动一次。很高兴在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);
});
});
谢谢你的建议。
答案 0 :(得分:4)
只需使用.preventDefault()
$("a").bind('click', function(ev) {
ev.preventDefault();
var hash = $(this).attr("href");
$('html, body').animate({ scrollTop: $(hash).position().top - 50 }, 1000);
});
答案 1 :(得分:1)
这是因为你的href点击也试图同时工作。防止默认的href行为。这改变了混蛋/摇晃行为。
$("a").bind('click', function(event) {
event.preventDefault();
var hash = $(this).attr("href");
$('html, body').animate({ scrollTop: $(hash).position().top - 50 }, 1000);
});
答案 2 :(得分:-1)
在您的代码中,当窗口scrolltop大于50时,您将div k 添加到div中。在k类中,您将 top 设置为 1px的的。因此,您的脚本将顶部设置为1px,然后启动动画。我希望这是在IE浏览器中的原因。