stinger7でTOC+を入れた時に目次の表示制御で画面スクロールしてしまう

stinger7のテーマを利用させていただいていますが,Table of Contents Plus(TOC+)プラグインを入れて目次が表示された時,Show/Hideの制御でページがスクロールしてしまうことがありました。

最初は,clickイベントのpreventDefaultreturn falseあたりに起因しているのかと思っていましたが,どうもよく見てみると,テーマのbase.jsの以下の部分がページトップにスクロールしてしまう現象に影響しているようでした。

jQuery(function() {
    jQuery("a[href^=#]").click(function() {
        var c = 400;
        var b = jQuery(this).attr("href");
        var d = jQuery(b == "#" || b == "" ? "html" : b); // ここの条件
        var a = d.offset().top;
        jQuery("body,html").animate({
            scrollTop: a
        }, c, "swing");
        return false
    })
});

実際は,Minifiedされているので上記のような目に優しいインデント表記にはなっていませんが,検索すればすぐに辿り着けます。とりあえず以下のように変更することで対応できました。

if (b=="#") return false; var d = jQuery(b == "" ? "html" : b);

もし,同じ症状で困っている方のご参考になれば。

byebyehaikikyou

日記やIT系関連のネタ、WordPressに関することなど様々な事柄を書き付けた雑記です。ITエンジニア経験があるのでプログラミングに関することなどが多いです。

シェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする

Translate »