2016-04-11 18 views
1

jquery SlideDown ile ilgili bir sorun yaşıyorum. Sanırım sorun ekranda görünüyor: CSS'nin hiçbiri değil ama gizli bölümle başlamalıyım.jquery slide ile sorunlar - slidedown - div görünmüyor

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 LİNK

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

size Yerine elemanın varsayılan stil içinde display:none tutmanın

+0

Başlarken hangi "div" ın gizlenmesi gerekiyor? Aslında, 'CIAO' içerikli' div' gizlenmiştir. – Sky

+0

Div içeriğine ihtiyacım var ciao başlangıçta gizlendi ve aşağı kaydırırken aşağı kaydırın. – vlk

+0

Hem CSS'niz hem de JS'niz iyi görünüyorsa, sorun, jQuery kitaplığının birçok farklı sürümlerini kemanda birbirine bağlamış olabilirsiniz, ayrıca kodun başlığındaysa .load() veya .ready() kullanarak çalıştığından emin olun. – Stickers

cevap

1

çok teşekkür ederim, size CSS'den o mülkü kaldırıp böyle $(document).ready() üzerine Üzerinde .hide() çağırabilirsiniz:

$(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(), öğe üzerinde display:none işlevlerini ayarlar, böylece stilinizin yaptıklarını etkili bir şekilde yapması, yalnızca kalıcı bir özellik değeri yapmamasıdır.

+0

Teşekkürler Jhonathan: D – vlk

+0

Ekranı da koyabilirsiniz: yok; Hazır olay başlamadan önce div'in flaşını engellemek için satır içi stil olarak. – NOBrien

+0

Stili doğrudan html'ye koymak mı istiyorsunuz? – vlk