2016-02-24 85 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