2010-06-10 9 views
0

Je le code suivant:Cycle jQuery avec instruction IF et 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 
      }); 
     } 
    }); 

Cependant, le cycle de .banner ne pas dans IE. Si je change le Fx à fondu bien que cela fonctionnera ?? Toutes les idées pour lesquelles je ne peux pas avoir un effet différent, le IF et le ELSE fonctionnent en défocalisant, semble juste casser quand j'ai un effet différent sur le IE.

Merci,

+2

Quelle version de jquery et cycle utilisez-vous? Aussi, vous devriez utiliser '! JQuery.support.opacity' au lieu de vérifier le navigateur. –

+0

Les dernières versions des deux. – Cameron

+0

Hmm juste vérifié une autre version du plugin de cycle et maintenant cela fonctionne:/ne sais pas pourquoi cela affecterait l'instruction if et else si. – Cameron

Répondre

0

se trouve que je n'utilisais pas la dernière version du cycle. Vous ne savez pas pourquoi ceci affecterait l'instruction IF et ELSE si:/

0

La version du plugin est probablement la cause ici, mettez à niveau cela pour résoudre le problème. cette baisse avec une instruction conditionnelle, vous pouvez aussi mince, comme ceci:

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

Il utilise jQuery.support pour vérifier support d'opacité, en utilisant feature detection rather than browser detection (IE9 par exemple ne opacité support) ... si possible C'est la meilleure façon de faire.