jQuery - 只要元素可见 - 就像Document.Ready

时间:2010-12-22 16:08:34

标签: jquery

使用jQuery有没有办法说,而不是doc准备好,只要这个项目可见XXXXXXX吗?

为什么我有一个包含3个面板的应用程序。默认情况下,第一个面板是隐藏的并且有一个轮播。如果在不可见时启动轮播,则轮播会中断。因此,我想在旋转木马或div显示后立即启动旋转木马。

由于

1 个答案:

答案 0 :(得分:2)

处理这个的正确方法是使用某种方法使轮播可见,然后触发“事件”(你可以在这里使用jQuery的自定义事件,但是没有真正的需要,一个简单的函数调用也会起作用。)

例如:

function showCarousel() {
    $("#carousel").show();
    carouselShowEvent();
}
function carouselShowEvent() {
    initiateCarousel();
}

如果由于一些奇怪的原因你不能这样做,你总是可以使用window.setInterval来定期检查它是否可见......但这几乎肯定是错误的方法。

// Don't do this
var interval = window.setInterval(function() {
    if ($("#carousel").is(":visible")) {
        initiateCarousel();
        interval.clearInterval();
    }
}, 1000);