2010-06-10 62 views
0

我有以下代码:jQuery的周期与IF和ELSE语句

$(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是defo的工作,只是似乎打破了,当我对IE浏览器有不同的影响。

谢谢,

+2

你正在使用哪个版本的jquery和循环?你也应该使用'!jQuery.support.opacity'而不是检查浏览器。 – 2010-06-10 15:55:47

+0

两者的最新版本。 – Cameron 2010-06-10 16:02:22

+0

嗯,只是检查循环插件的另一个版本,现在它的工作原理:/不知道为什么这会影响if和else语句。 – Cameron 2010-06-10 16:06:26

回答

0

原来我没有使用Cycle的最新版本。不知道为什么这会影响IF和ELSE声明,尽管:/

0

插件版本是可能的罪魁祸首在这里,升级以解决问题。此外,您还可以苗条下来了条件语句,就像这样:

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

这使用jQuery.support检查不透明的支持,使用feature detection rather than browser detection(IE9例如确实支持不透明度)...如果可能的话,这是最好的方式。