2014-09-30 138 views
0

我有一个死的简单的jQuery代码,负责通过使用动画滚动的网站导航。动画scrollTop突然停止工作

jQuery(".main_menu li a").click(function() { 

    var href = jQuery(this).attr('href'); 

    if(jQuery(this).html() == 'Home') { 
     jQuery("html, body").animate({ scrollTop: jQuery('body').offset().top }, 1000); 
    } 
    else { 
     jQuery("html, body").animate({ scrollTop: jQuery(href).offset().top }, 1000); 

    } 

    return false; 

}); 

使得在CSS一些无关的变化和模板后,滚动突然停止工作 - 现在我只能通过点击“首页”滚动到页面顶部。在控制台中运行滚动代码也不起作用。我尝试撤消我所做的更改,但似乎没有帮助,所以我在此处查找此问题的原因。

Here的现场版本。

+0

悬停链接我看到你正在使用锚标记引用。脚本中的返回false将不会将哈希标记添加到您用作滚动参考的网址。当我做这些事情时,我通常会在链接上添加一个id,例如“菜单 - 联系人”,然后点击它我会寻找一个id联系人的元素,计算它的顶部位置,然后在那里滚动。 – entiendoNull 2014-09-30 14:29:07

回答

1

这里的问题是All Section id's is getting duplicated。 Section ID的woda,oferta,o-firmie,galeria和kontakt.Ill section id在HTML标记中获得双倍重复。请更改他们重复的ID的值为一节,然后它会正常工作。

+0

你是对的,但这真的很奇怪。为什么会发生? – 2014-09-30 15:33:59

+0

@van_folmert只要检查自己得到的2个部分具有相同的ID。没有上下文无法猜到here.May可以复制粘贴issue.If它是解决您的问题可以接受为答案。 – 2014-09-30 15:38:04