Olaylar bu kısaltabilir güzel ama görünüm için hiçbir yerli olay olduğundan zaman bir, olaylar bilerek gerektirir öğe eklenir, böylece olay manuel olarak tetiklenebilir. Bir şeyin görünümünü test etmek için anketi kullanabilir ve görüntülendiğinde bir işlem yapabilirsiniz. Bu, kullanıcı girdisi, ajax veya diğer programlar gibi, denetiminizin dışına eklenen içerikler için harika çalışır.
setInterval(function() {
$('.my-element-class:not(.appeared)')
.addClass('appeared')
.each(function() {
console.log("here I am!")
});
}, 250);
Bu, her ikinci sınıf adıyla bir elementin görünüm (veya tedarik başka seçici kriterler) için 4 kez kontrol edin ve yeni madde göründüğünde kod çalışacaktır. Bir öğe görüldüğünde, bu örneğin tekrar algılanmasını önlemek için .appeared sınıfı eklenir. Sadece bir görünüm için test etmek isterseniz, bunu basitleştirebilir ve algılamadan sonra anketi kapatabilirsiniz.
jQuery
appear eklentisi bu tekniklerin etrafında inşa ve madde görünüm alanında ise yönelik testlerde gibi çok daha fazla seçeneğe sahip olması, ancak bunu istediğiniz tüm test birkaç öğeler için ise ekleniyor
var testAppearTmr = setInterval(function() {
if ($('.my-element-class').length) {
clearInterval(testAppearTmr);
console.log("here I am!")
}
}, 250);
Yukarıdaki kod, bir eklentiden çok daha tasarrufludur.
'Ne zaman görünür' öğesini nasıl tanımlarsınız? yani DOM'a yüklendiğinde veya başka bir jQuery kodu tarafından görülebilir hale getirildiğinde? – BenM
Ya da eleman kendini görebiliyor, ancak görüntü alanında görünmediğinde ve kullanıcı ona kaydırdığında? – Tommi
Üzgünüm, DOM –