2017-04-26 189 views
0

我一直在抨擊我的頭靠在牆上,試圖使用大量順暢的滾動插件來工作,爲什麼註冊按鈕無法順利地向下滾動到#target部分。平滑滾動無法正常工作

請幫助蜂巢介意,我正在使用CSS技巧代碼。

$('a[href*=#]:not([href=#])').click(function() { 
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
    || location.hostname == this.hostname) { 

    var target = $(this.hash); 
    target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
     if (target.length) { 
     $('html,body').animate({ 
      scrollTop: target.offset().top 
     }, 1000); 
     return false; 
    } 
} 
}); 

您可以在

https://codepen.io/samducker/pen/RVoORy

回答

1

看到筆所有的HTML CSS和其他JS取消你的代碼,並嘗試了這一個(這也許有點快改變它也許500) ,如果你的按鈕和主播之間的內容太多,可能會有些滯後:

/*Scroll Down Button*/ 
$(function() { 
    $('a[href*="#"]:not([href="#"])').click(function() { 
     if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { 
      var target = $(this.hash); 
      target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); 
      if (target.length) { 
       $('html, body').animate({ 
        scrollTop: target.offset().top 
       }, 1000); 
       return false; 
      } 
     } 
    }); 
}); 
+0

作品一個好心的兄弟,我以前使用的代碼如何處理所有css技巧示例,但是在我的頁面上不起作用? –

+0

我不知道。也許是一個複製粘貼問題。因爲你可以保留你的解決方案,只需將('a [href * =#]:not((href =#])')改爲('a [href * =「#」]:not([href =「# 「])') – RacoonOnMoon

+0

我不想貪心,但你可以選擇與綠色勾號正確的答案。會有幫助的:) – RacoonOnMoon

0

你的jQuery選擇器似乎不正確。因此,點擊按鈕時,點擊功能不會觸發,並會回退到默認的錨定行爲。我叉你的codepen和更改jQuery選擇器a請參閱:https://codepen.io/anon/pen/VbmNXd

嘗試將jQuery選擇器更改爲適用於您的應用程序的內容。