2016-10-03 9 views
0

Wordpressの初心者用テーマとしてアンダースコアを使用しています。メニューボタンが開いているときにbody要素に 'noscroll'クラスを追加したいメニューが閉じられたときに再び表示されます。アンダースコアが付属して、既存のnavigation.jsファイルへnoscrollクラスをメニューのボディに追加する

$('body').addClass('noscroll');

私はこの種のものを追加しようとしました

... ...。これは...このよう

https://github.com/Automattic/_s/blob/master/js/navigation.js

に見える...しかし、私はちょうど右の解決策を見つけるように見えることはできません。どんな援助も感謝して受け入れられ、学ばれるでしょう!

+0

あなたは '$(" body ")を試しましたか?css( 'overflow'、 'hidden')'?その1ライナーと同じ結果を達成する必要があります。ロックを解除するには 'auto'に戻します。 – somethinghere

答えて

0

あなたのサイトに固有のものではないこの種の既存のコードとしてnavigation.jsファイルを変更することはお勧めしません。

function wpse39838169_addNoScroll() { ?> 
<script> 
$(".MENUBUTTONCLASS").on("click", function(e) { 
    $('body').addClass('noscroll'); 
}); 
</script> 
<?php } 
add_action('wp_enqueue_scripts','wpse39838169_addNoScroll'); 

クリックされるボタンのクラスで「MENUBUTTONCLASS」を置き換えます。あなたは何ができるか

はそうのようなあなたのテーマのfunctions.phpファイルにカスタムスクリプトをエンキューしようとしています。

0

ありがとうSpartacus、あなたは正しい軌道に乗りました。私はいくつかのテストを行なったし、次のコードは、ボタンがクリックされたときに、本体に「noscroll」クラスを削除/追加したことを発見...

jQuery(document).ready(function($){ 
    $(".menu-toggle").click(function() { 
     $('body').toggleClass('noscroll'); 
    }); 
}); 

...と私はWordpressの機能で上記のコードをエンキュー通常の方法で外部のjavascriptファイルを使用して.phpファイルを作成します。

+0

恐ろしい!あなたはそれを考え出してうれしい! – Spartacus

関連する問題