2017-06-17 20 views
1

私は、スクリーンが特定のポイントまでスクロールするか、ブラウザウィンドウが特定のサイズに縮小されるときに、いくつかのCSSを変更する機能を持つ方法を工夫しようとしています。jQueryデュアル条件ステートメント - スクロールの高さまたは幅Do this

私はそれぞれ個別に働いていますが、一方を他方に追いかけると他方は優先します。

は、ここで私は、ATMで働いているものです:

$(window).scroll(function() { 
    var height = $(window).scrollTop(); 

    if(height > 300){ 
    $('.navbar-default .nav li a').css("color","#f6f6f6"); 
    } 
    else{ 
    $('.navbar-default .nav li a').css("color","#4B00B3"); 
    } 
}); 

$(window).resize(function() { 
    var width = $(window).width(); 

    if(width < 768) { 
    $('.navbar-default .nav li a').css("color","#f6f6f6"); 
    } 
    else{ 
    $('.navbar-default .nav li a').css("color","#4B00B3"); 
    } 
}); 

は、だから私は、単にナビゲーションバーのフォントは画面が768pxを超えて広い300ピクセルスクロールで、いつグレー(f6f6f6#)も持っていると思います。それ以外の場合は濃い紫色(#4B00B3)になります。

私はこれらを組み合わせてみましたが、.resizeと.scrollTopイベントをどのように組み合わせるか分かりません。条件文

ご協力いただきまして誠にありがとうございます。

答えて

0

これらを1つの関数に結合し、その関数をresizeイベントとscrollイベントの両方に渡すことができます。

var navbarDefault = $('.navbar-default .nav li a'); 

$(window).resize(toggleColor).scroll(toggleColor); 

function toggleColor(){ 
    var height = $(window).scrollTop(); 
    var width = $(window).width(); 

    if(width < 768 || height > 300) { 
     navbarDefault.css("color","#f6f6f6"); 
    } 
    else { 
     navbarDefault.css("color","#4B00B3"); 
    } 
} 
+0

これは機能しません。 – eddiee

+0

それは私のために正常に動作します。ご覧になるために関連するHTML、CSS、およびJSコードを投稿してください。 –

+0

私たちは行く、私は高さと幅の可変コールの下でトップ可変コールを移動する必要がありました。 最後の問題は、ブラウザが小さく、開始フォントの色が間違っている場合です。ですから、私は(文書).readyも追加する必要があります。 2つのウィンドウイベントにそのイベントを追加できますか? – eddiee

関連する問題