0

我试图让我的 jQuery 只在它出现在屏幕上时触发。它会触发一些条反弹,但用户需要滚动内容才能看到它。

除了延迟它的时间(对于某些用户来说可能会被击中和错过),当它在屏幕上可见时,我怎样才能让这个代码触发?

<script>
$(function() {
$(".meter .bar").hide().show('bounce', { times:4, direction: 'right' }, 1780);                    
});
</script>

这个对吗?

我试图让我的 jQuery 只在它出现在屏幕上时触发。它会触发一些条反弹,但用户需要滚动内容才能看到它。

除了延迟它的时间(对于某些用户来说可能会被击中和错过),当它在屏幕上可见时,我怎样才能让这个代码触发?

<script>
$(function() {
$(".meter .bar").hide().show('bounce', { times:4, direction: 'right' }, 1780);                    
});
</script>

这个对吗?

<script>
$('.meter .bar:visible').livequery(function () {
$(".meter .bar").hide().show('bounce', { times:4, direction: 'right' }, 1780);
});
</script>
4

1 回答 1

0

我建议使用http://plugins.jquery.com/livequery/类似: var isExecuting = false;

$('.meter .bar:visible').livequery(function () {
    if (!isExecuting) {
      isExecuting = true;
      // some stuff
      $(".meter .bar").hide().show('bounce', { times:4, direction: 'right' }, 1780)
                      .completed(function() { isExecuting = false; };
    }
});

这将导致某些东西在每次可见时都被执行。

于 2013-03-31T02:17:00.517 回答