2014-10-04 71 views
0

我注意到这似乎在Chrome中不起作用。我找到了解决在线(即在演示的作品),但我不能让它出于某种原因:jQuery ScrollTo Chrome Fix

这里是我的代码有:

$('#button-top').bind('click', function(e) { 
    try { 
     e.preventDefault(); 
     target = this.hash; 
     $('html, body').scrollTo(target, 150); 
    } catch (error) { 
     alert('error - ' + error); 
    } 
}); 

如果有帮助,这里是一个链接我的网站建设(见页面右下角的链接):

http://www.mattpealing.co.uk/_dev/

回答

2

您正在加载旧版本(1.4.2)的jquery.scrollTo。转到latest version 1.4.13,它可以工作,看评论中的小提琴。

+0

这里是一个工作小提琴:http://jsfiddle.net/072h7hsg/ – 2014-10-04 19:29:01

+0

这似乎是这个问题最合乎逻辑的答案,但我仍然认为这个插件的使用是无关紧要的。 – 2014-10-04 19:32:44

+0

非常感谢! – pealo86 2014-10-16 13:28:03

0

JQuery的没有任何scrollTo()功能。但是,它具有scrollTop(position)函数。

这样的工作(我不知道你与你的150的意思):

$('#button-top').bind('click', function(e) { 
    try { 
     e.preventDefault(); 
     target = this.hash; 
     $('html, body').scrollTop(150); 
    } catch (error) { 
     alert('error - ' + error); 
    } 
}); 

如果这是你想要的,这将做的工作(有150毫秒的动画速度)动画:

$('#button-top').bind('click', function(e) { 
    try { 
     e.preventDefault(); 
     target = this.hash; 
     $('html, body').animate({ 
      scrollTop: 0 
     }, 150); 
    } catch (error) { 
     alert('error - ' + error); 
    } 
}); 
+0

但他包括从https://github.com/flesler/jquery.scrollTo的jquery.scrollTo库。 – 2014-10-04 19:19:19

+0

我的不好,我没注意到。问题是为什么在原生Jquery做他想做的事情时使用库? – 2014-10-04 19:22:17

+0

是的,我也会使用'animate'方法。好吧。 – 2014-10-04 19:30:52