Jquery 滚动到锚点在 Internet Explorer 上不起作用
我是 javascript 和 jquery 的新手。我正在使用一些预制的东西放在我的网站上。 http://brainscuker.altervista.org/
当我单击链接向下滚动到锚点时,它最初到达正确的位置,但不久之后,它又向上滚动。
它在 Firefox 和 Chrome 上运行良好。
我正在使用的脚本是这样的。
$(document).ready(function() {
$("a.who").anchorAnimate()
});
jQuery.fn.anchorAnimate = function(settings) {
settings = jQuery.extend({
speed : 800
}, settings);
return this.each(function(){
var caller = this
$(caller).click(function (event) {
event.preventDefault()
var locationHref = window.location.href
var elementClick = $(caller).attr("href")
var destination = $(elementClick).offset().top;
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, settings.speed, function() {
window.location.hash = elementClick
});
return false;
})
})
}
感谢任何最终的帮助!
I'm new with javascript and jquery. I'm using some premade stuff to put on my site.
http://brainscuker.altervista.org/
When I click on the link to scroll down to the anchor, it intially goes to the right place, but soon after, it scroll back up.
It works fine on firefox and chrome.
The script I'm using is this.
$(document).ready(function() {
$("a.who").anchorAnimate()
});
jQuery.fn.anchorAnimate = function(settings) {
settings = jQuery.extend({
speed : 800
}, settings);
return this.each(function(){
var caller = this
$(caller).click(function (event) {
event.preventDefault()
var locationHref = window.location.href
var elementClick = $(caller).attr("href")
var destination = $(elementClick).offset().top;
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, settings.speed, function() {
window.location.hash = elementClick
});
return false;
})
})
}
thx for any eventual help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
window.location.hash 在 IE 上有问题。目前正在解决类似的问题,必须使用scroll或scrollTo函数才能使其工作。
window.location.hash is buggy on IE. Currently working on a similar problem, have to use the scroll or scrollTo function to make it work.