2016-04-11 11 views
1

jquery SlideDownにいくつか問題があります。 私は問題が表示されていると思う:cssのどれもが、私はdivを隠して起動する必要があります。jqueryスライドアップに関する問題 - slidedown - divが表示されない

HTML

<div id="miao">CIAO</div> 

jQueryの

var screenok = $(window).height(); 
    $(document).scroll(function() { 
    if ($(this).scrollTop() < screenok/3) { 
      $("#miao").slideUp(200); 
     } else { 
      $("#miao").slideDown(200); 
     } 

    }); 

CSS

  #miao{ height: 100px; 
      width: 100%; 
      position: fixed; 
      top: 0px; 
      left:0px; 
      z-index:20; 
      background:white; margin:auto; display:none;} 

JSFIDDLEのLINK

https://jsfiddle.net/vtxLqjkw/1/

代わりに要素のデフォルトのスタイルにdisplay:noneを維持する、あなたのCSSからそのプロパティを削除して、このような$(document).ready()にそれに.hide()を呼び出すことができ、非常に

+0

起動時にどのdivを非表示にする必要がありますか?実際には、 'CIAO'という内容の' div'が隠されています。 – Sky

+0

私はdivコンテンツが必要ですciaoは最初に隠されていて、スクロールしながら下にスライドします。 – vlk

+0

あなたのCSSとJSの両方がうまく見えますが、問題はあなたがフィドルのjQueryライブラリの多くの異なるバージョンにリンクしている可能性があります。コードが.load()または.ready()を頭に使っていることを確認してください。 – Stickers

答えて

1

ありがとう:

$(document).ready(function() { 
    var screenok = $(window).height(); 

    // hide the element initially 
    $("#miao").hide(); 
    $(document).scroll(function() { 
    if ($(this).scrollTop() < screenok/3) { 
     $("#miao").slideUp(200); 
    } else { 
     $("#miao").slideDown(200); 
    } 
    }); 

}); 

.hide()ファンクションは要素にdisplay:noneを設定します。そのため、効果的にスタイルを実行しています。永続的なプロパティ値にしないでください。

+0

ありがとうJhonathan:D – vlk

+0

ディスプレイを置くこともできます:なし;レディイベントが実行される前にdivのフラッシュを防ぐためのインラインスタイルです。 – NOBrien

+0

スタイルをHTMLに直接載せることを意味しますか? – vlk

関連する問題