2016-08-26 19 views
0

上には2つの部門があり、2番目の部門はユーザーがスクロールした後に固定されるはずですが、携帯電話でのみ行われます。携帯電話/携帯電話専用のスティッキーdiv

は、例えば、このを見てみましょう:https://jsfiddle.net/livibetter/HV9HM/

は、これは私が何をしようとしています正確に何ですが、私はこれが唯一の携帯電話のデバイスで発生します。デスクトップでは、部門は異なる動作をします。デスクトップ上の2つの部門は固定されているため、問題はなく、適切に機能しています。

私は除外1と2から固定を削除しました。ユーザーが除外2を渡すと、上記の例のように固定して動作させたいと思います。フィドル

function sticky_relocate() { 
    var window_top = $(window).scrollTop(); 
    var div_top = $('#sticky-anchor').offset().top; 
    if (window_top > div_top) { 
     $('#sticky').addClass('stick'); 
     $('#sticky-anchor').height($('#sticky').outerHeight()); 
    } else { 
     $('#sticky').removeClass('stick'); 
     $('#sticky-anchor').height(0); 
    } 
} 

#sticky { 
    padding: 0.5ex; 
    width: 600px; 
    background-color: #333; 
    color: #fff; 
    font-size: 2em; 
    border-radius: 0.5ex; 
} 

#sticky.stick { 
    margin-top: 0 !important; 
    position: fixed; 
    top: 0; 
    z-index: 10000; 
    border-radius: 0 0 0.5em 0.5em; 
} 

body { 
    margin: 1em; 
} 

p { 
    margin: 1em auto; 
} 
+0

デバイスをターゲットにする場合は、 'device user agent'を使用してデバイスの有無を検出してから、関数を実行します。 – vivekkupadhyay

+0

私は768pxよりも遅いデバイスに対してのみ特別なCSSを設定しようとしましたが、適切に動作しませんでした。私はその後、特定の高さがスクロールされた後にそのCSSを起動しようとしました。 – DeathNote

+0

あなたは試したことを投稿できますか?あなたはhtml を入れるのを忘れた可能性はありますか? –

答えて

0

から

サンプルコードは、必ず、以下の私の例として、これを達成するためにCSS側でメディアクエリを使用することができます。

@media screen and (max-width: 430px) 
{ 
.cssEntry { 
    background: pink; 
} 
} 

注:あなたがしていじくり回すことができますモバイルの幅は一般的に430pxで十分です。

+0

このCSSは、ページが読み込まれたときに最初からアクティブになっていますが、ユーザーが2番目の部門を超えてスクロールした場合にのみ有効にしたいと考えています。私は特定のdivを過ぎてスクロールしたユーザーがいったんcssを起動しようとしましたが、何とかしていません。 – DeathNote