2010-09-14 7 views
0

Voici le code jQuery que j'essaie d'utiliser. Cela fonctionne bien dans Firefox, Opera, Chrome, Safari, mais pas IE7. J'étais d'abord suspect que cela était dû au fait que: le sélecteur caché ne soit pas supporté dans IE7, donc j'ai essayé de simplement afficher .show() et .fadeIn() l'élément sans conditions (vous pouvez le voir depuis la zone commentée).jQuery .show, .fadeIn non visible avec IE7

if (data.indexOf(error) == -1){ 
    alert('in result'); 
    if ($('.result').is(":hidden") == true){ 
    alert('in fade in'); 
    $('.result').fadeIn('slow'); 
    } 
    //$('.result').show('slow'); 
    $('.result span #entry').html(data); 
    alert('entered data'); 

Cependant, cela n'a pas été un succès. Même sans le sélecteur conditionnel, je suis toujours incapable d'afficher l'élément dans IE7. Mais je sais que c'est interpréter le code parce que les alertes 'dans le résultat' et 'entrées de données' sont lancées.

Voici le XHTML

<div class='result'> 
<img src='content/red-x.gif' alt='close' /> 
<span id='entry'></span> 
</div> 

et CSS

.result { 
display: none; 
background: #c9fd9b; 
background: -webkit-gradient(
    linear, 
    left bottom, 
    left top, 
    color-stop(0.51, rgb(201,253,155)), 
    color-stop(0.85, rgb(217,245,191)), 
    color-stop(0.24, rgb(193,240,149)), 
    color-stop(0.11, rgb(177,222,136)) 
); 
background: -moz-linear-gradient(
    center bottom, 
    rgb(201,253,155) 51%, 
    rgb(217,245,191) 85%, 
    rgb(193,240,149) 24%, 
    rgb(177,222,136) 11%)); 
z-index: 22; 
width: 255px; 
height: 155px; 
position: fixed; 
left: 50%; 
top: 65px; 
overflow: hidden; 
padding: 10px; 
margin: 5px; 
margin-left: -127.5px; 


-webkit-border-radius: 10px; 
-moz-border-radius: 10px; 
border-radius: 10px; 

box-shadow: 2px 2px 10px #333333; 
-moz-box-shadow: 2px 2px 10px #333333; 
-webkit-box-shadow: 2px 2px 10px #333333; 
} 
+0

Il est beaucoup plus facile de déboguer ces si vous incluez un lien http://jsfiddle.net de votre code. –

+0

Compris, mais cette situation n'est pas suffisamment modularisée pour placer du code isolé dans jsfiddle. –

Répondre

0

Il suffit de voir par la barre d'outils IE Developer après le contrôle est visible en raison de Estompement il ajoute un peu de code pour l'opacité. Retirez simplement le code en écrivant

$ ('selector'). Css ('attribut', ''); ou écrivez $ ('selector'). RemoveAttr ('style'); // Supprime tous les styles en ligne.

Espérons que cela vous aidera :)