[WordPress] 他のクラスを追加ワードプレスのホームページ上でのみスクリプトをロード

スポンサーリンク

Question

ない本当に私が何をしようとしている達成するためにここでは、うまくいけば、あなたたちは助ける方法がわからない。ページが特定のポイントまでスクロールされたときにフェードイン私固定ヘッダーになる私の function.js ファイル内でスクリプトがあります

このスクリプトがホーム ページ上にあるがヘッダーを持っている、完全に目に見えるすべての内部ページの動作をします

このスクリプトを独自のファイルを分割し、少し周り変更が必要になりますが、提案を開いている確信します

私の最初の考えは、ホームページ上で意図したが、いくつかの他の並べ替えを作成する/php 文を言う場合の実行スクリプト:

「これがホーム ページの場合、、何、#navbar 要素不透明クラスを追加します”

HTML:

    

CSS:

.bg {
  background: #525454;
  opacity: 0;
}

.show {
  opacity: 1;
}

.transition {    
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}

.navbar {
  background: none;
  position: fixed;
  z-index: 999;
  padding-top: 15px;
  top: 0;
  opacity:0.3;
}

JS:

$(window).scroll(function() {
  // 100 = The point you would like to fade the nav in.

    if ($(window).scrollTop() > 100 ){

      $('.bg').addClass('show');

    } else {

      $('.bg').removeClass('show');

    };    
  });

  $('.scroll').on('click', function(e){   
      e.preventDefault()

    $('html, body').animate({
        scrollTop : $(this.hash).offset().top
      }, 1500);
  });

ここに任意のアイデアですか?言ったように、私の提案を開いています

答え

体にあなたのホームページでクラスを追加できます。レイアウトと .bg 固定位置は、他のページに使用して:



:not(.home) .bg{position:fixed;}

答え

if ( is_home() || is_front_page() ) { 
    wp_enqueue_script($scriptUrl);
} else { 
    add_filter("body_class" , function($classes){
        $classes[] = "added-class";
        return $classes;
    }); 
} 

場合はホーム、エンキューいくつかのスクリプト (

wp_enqueue_scripts

アクションの前に行う必要があります。他はボディにいくつかのクラスを追加します。適切なボディ タグにする必要があることを覚えてカントー

>

http://stackoverflow.com/questions/27325811/wordpress-load-script-only-on-homepage-else-add-class

スポンサーリンク

Leave a Reply