jQuery UI(在屏幕上可见时运行)

时间:2013-03-31 02:12:33

标签: javascript jquery html css jquery-ui

我试图让我的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>

1 个答案:

答案 0 :(得分: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; };
    }
});

这会导致一些东西在每次可见时被执行。