2011-01-07 18 views

cevap

42

kullanın jquery olay .scroll() jquery

$(window).on('scroll', function() { 
    var y_scroll_pos = window.pageYOffset; 
    var scroll_pos_test = 150;    // set to whatever you want it to be 

    if(y_scroll_pos > scroll_pos_test) { 
     //do stuff 
    } 
}); 

http://jsfiddle.net/babumxx/hpXL4/

+0

I $ ("başlığı, alt") ile test animasyon ({backgroundColor: "# fd9c3d"}, 1200 ° C).; –

+0

if deyiminde ve ifşası görünmüyorsa, etkinliğin if, if ifadesinin içinde ve dışında olup olmadığını test etmek için bir uyarı koyun. – jondavidjohn

18

gezi noktaları tek bir sayfada ben değiştirdiniz jondavid en yalnızca bir kez herhangi bir işlem tetiklemek için o http://imakewebthings.github.com/jquery-waypoints/

+1

Sadece paralaks tek sayfa kaydırma uygulamasında waypoints.js kullanılır. mükemmel çalışır. Size verebileceğim bir ipucu, yol noktaları için bağlantı kullanmaktır. Görünürlüğü gizli olarak ayarlayın. Yol noktası yüksekliğini ayarlamak için mutlak konumlamayı kullanabilirsiniz. Screen 1-1. – mbokil

9

yapmalıyım snippet'i aşağıdaki gibi.

jQuery(document).ready(function($){ 

    $triggered_times = 0; 

    $(window).on('scroll', function() { 

      var y_scroll_pos = window.pageYOffset; 
      var scroll_pos_test = 150; // set to whatever you want it to be 

      if(y_scroll_pos > scroll_pos_test && $triggered_times == 0) { 

       //do your stuff over here 

       $triggered_times = 1; // to make sure the above action triggers only once 

      } 
    }); 

}) 

Burada, çalışan kod snippet'ini kontrol edebilirsiniz;

jQuery(document).ready(function($){ 
 

 
\t \t $triggered_times = 0; 
 

 
\t \t $(window).on('scroll', function() { 
 
\t \t \t \t var y_scroll_pos = window.pageYOffset; 
 
\t \t \t \t var scroll_pos_test = 150; // set to whatever you want it to be 
 

 
\t \t \t \t if(y_scroll_pos > scroll_pos_test && $triggered_times == 0) { 
 
\t \t \t \t \t alert('This alert is triggered when y_scroll_pos = 150') 
 
\t \t \t \t \t $triggered_times = 1; // to make sure the above action triggers only once 
 
\t \t \t \t } 
 
\t \t }); 
 

 
\t })
p { 
 
    height: 1000px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<body> 
 
<p>scroll this block to get the result</p> 
 
</body>

+0

"document.ready" işlevinde neden bir "$" simgesi var? Bunu koyarsam ya da işe yaramazsa. Nedeni? @Mursaleen – Rehan

+1

aslında bazen '' '' '' '' '' WordPress’te olduğu gibi tanımlanmamış '' ama '' jQuery' '' tanımlanmıştır. Yani burada fonksiyona yerleştirerek ($) {...} '' $ = jQuery' anlamına gelir. Bu nedenle, eğer $ $ 'ı yukarıdaki koddan kaldırırsanız, bazı durumlarda çalışmayı durdurabilir. –

+0

Şimdi anladım. Teşekkürler – Rehan

İlgili konular