2008-11-13 6 views

Répondre

2

toggle() est assez bogué à certains moments, je l'ai eu faire des choses étranges à cocher (décochez-les) et d'autres problèmes variés. Je suggérerais juste de le manipuler en utilisant un événement de clic, beaucoup moins d'ennuis mineurs. et de cette façon, vous n'avez pas à vous soucier de quel état #lowerDiv est en premier lieu:

$('#upperDiv').click(function() { 
    $('#lowerDiv').animate({ 
     'opacity' : 'toggle', 
    }); 
}); 
+0

merci, je vais donner une certaine considération –

3

Si le contenu à basculée est affiché (visible) lorsque la page est rendu les fonctions seraient dans l'ordre suivant, si le contenu est caché à l'origine puis inverser les fonctions

<html> 
<head> 
<style> 
#upperDiv {width:200px; height:20px; text-align:center; cursor:pointer; } 
#lowerDiv {width:200px; height:20px; background-color:red; border:#206ba4 1px solid;} 
</style> 

<script language="Javascript" src="javascript/jquery-1.2.6.min.js"></script> 
<script type="text/JavaScript"> 

$(function(){ 
$('#upperDiv').toggle (
    function(){ 
     $("#lowerDiv").hide() ; 
     }, 
    function(){ 
     $("#lowerDiv").show() ; 
     } 
); // End toggle 
}); // End eventlistener 

</script> 
</head> 
<body> 
<div id="upperDiv" >Upper div</div> 
<div id="lowerDiv" >Lover Div</div> 
</body> 
</html> 
0

Je sais que c'est une question très ancienne, mais seulement pour les personnes qui recherchent une solution rapide ce travaillé pour moi:

a. dans le fichier PHP/HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/.../jquery.min.js"></script> 
    <script> 
    $(document).ready(function(){ 
     $("#pClick").click(function(){   
      $("#pText").toggle(); 
      $("#pText").text("..."); 
     }); 
    }); 
    </script> 

b. dans le fichier CSS:

#pText {display: none;} 

Cela fonctionne maintenant même au premier clic. C'est une réponse simple et rapide qui, je l'espère, sera utile.

Questions connexes