【问题标题】:How change I make sure that jQuery will only execute this code when the slider is visible?如何更改我确保 jQuery 仅在滑块可见时执行此代码?
【发布时间】:2012-12-25 03:54:59
【问题描述】:

好的,我在http://www.gablabelle.com/ 的网站几乎完成了,但我有一个小问题。

我使用滑块来展示我的照片,当您单击其中一个缩略图时,滑块 div 会淡入。当您使用箭头、右/左键盘键、鼠标单击或滑动来更改幻灯片时,由于 jQuery 地址插件,URL 将相应地更改以反映它所在的幻灯片。按 ESC 或 logo 会淡出滑块 div。

问题是当我加载主页时,但不要点击任何缩略图并按左右键盘键,URL 会发生变化(因为它实际上是在改变滑块的幻灯片,即使你看不到它) .

幻灯片更改不会打扰,因为当我单击缩略图时,无论如何都会出现正确的幻灯片。这是在幻灯片更改时使 URL 更改的代码:

slider.ev.on('rsAfterSlideChange', function(event) {
    $.address.state(ajax_object.path).crawlable(true).value(slider.currSlide.caption);
});

我如何确保 jQuery 仅在滑块可见时执行此代码?

非常感谢您的时间和帮助。

【问题讨论】:

    标签: jquery slider


    【解决方案1】:

    使用if ($(slider).is(":visible")) { // execute operation },将滑块选择器替换为适合您的滑块的正确选择器。 $(this).is(":visible") 也可以工作。

    【讨论】:

    • "(" 您的答案中缺少。@GAB。在您的代码中是同样的错误!尝试:"if($(slider).is(":visible")) {...} "
    • 更好的替代方法是使用 jQuery“promises”。检查api.jquery.com/promise
    猜你喜欢
    • 2021-12-14
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多