2016-10-27 19 views
0

クリックするとスムーズにスクロールして同じページのアンカーポイントに移動するボタンがあります。問題は、スクリプトがページ上のすべてのハイパーリンクを無効にしていることです。どうすれば私のextenalハイパーリンクが再び機能し、デモボタンがスムーズにページをスクロールするように修正できますか?スムーススクロールjavascriptでハイパーリンクを無効にする

これは私のボタンが存在すると、関連するjavascriptのダウン剥奪コードです:

<body data-spy="scroll" data-offset="80"> 
<div class="other"> 
<div class="container"> 
<div class="col-md-12"> 
<div class="center-header"><a href="#demo"><button type="submit" class="btn btn-theme-bg btn-lg">Demo</button></a></div> 
</div> 
</div> 
</div> 
<div id="demo" div class="center-header"></div> 
<script> 
    $(document).on('click', 'a', function(event){ 
    event.preventDefault(); 

    $('html, body').animate({ 
     scrollTop: $($.attr(this, 'href')).offset().top 
    }, 500); 
    }); 
</script> 

</body> 

答えて

0

HTML:

<a href="#demo" class="someClassName"> 

JS:私はあなたのコードを観察した後

$(document).on('click', '.someClassName', function(event){ 
0

clickイベントをアンカータグにバインドするためにjQueryを使用していることがわかります。すべてのアンカータグのクリックイベントをバインドします。アンカータグがクリックから発生しています。以下のコードを使用することをお勧めします。

$(document).on('click', 'a', function(event){ 
    if ($.attr(this, 'href').indexOf("#") === 0) { 
    event.preventDefault(); 
    $('html, body').animate({ 
     scrollTop: $($.attr(this, 'href')).offset().top 
    }, 500); 
    } 
}); 
関連する問題