2016-02-24 82 views
-1

感谢您的推荐,我更新了我的问题。当div可见时激活javascript代码

我有下面的代码:

https://jsfiddle.net/btq7mm0h/3/

是一个简单的计数器,当文档准备好开始。我希望它会在div id =“testimonios”在屏幕上可见时启动,因为当我滚动到下来查看效果已经看不到时。

我发了,我找到几个插件JS喜欢

https://www.customd.com/articles/13/checking-if-an-element-is-visible-on-screen-using-jquery

我的文档中添加脚本,并修改了代码:

if $('#testimonios').visible(true) { 
    $('.count').each(function() { 
     $(this).prop('Counter',0).animate({ 
      Counter: $(this).text() 
     }, { 
      duration: 9000, 
      easing: 'swing', 
      step: function (now) { 
       $(this).text(Math.ceil(now)); 
      } 
     }); 
    }); 
} 

请任何建议。

+0

您可以更新您的问题包括[最小,完整,可验证的示例](http://stackoverflow.com/help/mcve)?没有关联的HTML,答案可能只是猜测。 – twernt

+0

感谢您的推荐我更新了这个问题。 –

回答

0

有几种方法可以解决这个问题,例如使用定时器,纯javascript和jquery有一些变化。这里有一个方法可以解决这个问题。

$("#testimonios").bind("DOMSubtreeModified", function() { 
    // do whatever here, you can even add an if statement for css such as 
    var cssCheck = $(this).css('display'); 

    if (cssCheck == "block") { 
    // Div Display is Visible 
    alert("isVisible"); 
    } else { 
    // Div Display is not Visible 
    alert("isNotVisible"); 
    } 
}); 

你可以看到在codebin结果:http://codebins.com/bin/4ldqoyk

+0

感谢您的回复,但不是我搜索的。简单地说,当屏幕上显示div时,我想要一个“触发器”。我尝试过isOnscreen,可见,但是它不起作用。 –

+0

我很困惑你在问什么?我提供的代码行为是“活的”,因此在任何时候div有任何变化时,它会检查它是否是“显示”以及它是否可见。编码器用触发器详细说明了这一点。请确保您将此代码放在页面末尾或页面加载中,以使其正常工作。 – phpvillain