2017-10-02 19 views
-1

ここにStackOverflowが新しくなりましたので、必要なことがあれば教えてください。スムーススクロールを使用してURLからアンカーリンクを削除してください

私のウェブサイト(https://github.com/cferdinandi/smooth-scroll)でcferdinanadiのスムーズスクロールプラグインを使用していますが、リンクをクリックすると、自分のURLのアンカーリンクを取り除きたいと思います。だから私はリンクをクリックすると、私のURLは(www.mysite.com/#anchor)になりますが、私はそれを(www.mysite.com)のままにしておきます

https://github.com/cferdinandi/smooth-scroll)、URLからこれらのアンカーリンクを削除するヘルパー機能が見つかりましたが、動作させるためにコードを貼り付ける場所が不明です。

誰でも手伝ってもらえますか?提供されるコードは次のとおりです。

var scroll = new SmoothScroll(); 

var smoothScrollWithoutHash = function (selector, settings) { 
    /** 
    * If smooth scroll element clicked, animate scroll 
    */ 
    var clickHandler = function (event) { 
     var toggle = event.target.closest(selector); 
     console.log(toggle); 
     if (!toggle || toggle.tagName.toLowerCase() !== 'a') return; 
     console.log(toggle.hash); 
     var anchor = document.querySelector(toggle.hash); 
     if (!anchor) return; 

     event.preventDefault(); // Prevent default click event 
     scroll.animateScroll(anchor, toggle, settings || {}); // Animate scroll 
    }; 

    window.addEventListener('click', clickHandler, false); 
}; 

// Run our function 
smoothScrollWithoutHash('a[href*="#"]'); 
+0

あなたが持っているものと望むもののスクリーンショットを共有できますか?また、サイトやjsfiddlerへのリンクを提供することができれば助かります。 – Tapas

+0

サイトはまだ稼働していません。この編集を投稿に追加しますが、リンクをクリックしたときのURLは(mysite.com/#section1)になりますが、(www.mysite.com)のままにしておきます。 –

+0

上記の 'var toggle ... '' event.preventDefault(); 'を追加します。 – ggdx

答えて

0

これは解決策を使用して終了しました。これを理解しようとしている他の誰のために

は、ちょうど追加:

$(window).on('hashchange', function(e){ 
    history.replaceState ("", document.title, e.originalEvent.oldURL); 
}); 

.jsファイルの一番下に。

関連する問題