带有 IF 和 ELSE 语句的 jQuery 循环

发布于 09-04 17:58 字数 619 浏览 10 评论 0原文

我有以下代码:

    $(document).ready(function()
    {
        if (!jQuery.browser.msie)
        {
            $('.banner').cycle({
                fx: 'fade',
                speed: 1000,
                timeout: 10000,
                random: 1
            });
        }
        else {
            $('.banner').cycle({
                fx: 'turnUp',
                speed: 1000,
                timeout: 10000,
                random: 1
            });
        }
    });

但是 .banner 不会在 IE 中循环。如果我将 Fx 更改为淡入淡出,它会起作用吗?任何想法为什么我不能有不同的效果,IF 和 ELSE 确实可以工作,只是当我对 IE 产生不同的效果时似乎会中断。

谢谢,

I have the following code:

    $(document).ready(function()
    {
        if (!jQuery.browser.msie)
        {
            $('.banner').cycle({
                fx: 'fade',
                speed: 1000,
                timeout: 10000,
                random: 1
            });
        }
        else {
            $('.banner').cycle({
                fx: 'turnUp',
                speed: 1000,
                timeout: 10000,
                random: 1
            });
        }
    });

However the .banner does not cycle in IE. If I change the Fx to fade though it will work?? Any ideas why I can't have a different effect, the IF and ELSE is defo working, just seems to break when I have a different effect on the IE one.

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦里的微风2024-09-11 17:58:29

事实证明我没有使用最新版本的 Cycle。不知道为什么这会影响 IF 和 ELSE 语句:/

Turns out I wasn't using the latest version of Cycle. Not sure why this would effect the IF and ELSE statement though :/

久光2024-09-11 17:58:29

插件版本可能是罪魁祸首,请升级插件版本以解决问题。另外,您可以使用条件语句来简化它,如下所示:

$(function() {
  $('.banner').cycle({
     fx: $.support.opacity ? 'fade' : 'turnUp',
     speed: 1000,
     timeout: 10000,
     random: 1
  });
});

这使用 jQuery.support 使用 功能检测而不是检查不透明度支持浏览器检测(例如 IE9 确实支持不透明度)...如果可能的话,这是最好的方法。

The plugin version is the likely culprit here, upgrade that to resolve the issue. Also, you can slim this down with a conditional statement, like this:

$(function() {
  $('.banner').cycle({
     fx: $.support.opacity ? 'fade' : 'turnUp',
     speed: 1000,
     timeout: 10000,
     random: 1
  });
});

This uses jQuery.support to check for opacity support, using feature detection rather than browser detection (IE9 for example does support opacity)...if at all possible, this is the best way to go.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文