2011-06-24 2 views
1

J'utilise cette fonction pour afficher/masquer un div.Afficher/Cacher div en utilisant jquery - Ne fonctionne pas

Mais cela ne fonctionne pas.

Cela fonctionne uniquement pour cacher et ne pas travailler pour le spectacle. Et j'ai besoin de montrer et de cacher les champs dans un style lent.

Comment cela peut-il être fait?

ce qui était mon erreur ici ...

$(document).ready(function(){ 
    $("#field-reviewers-items").hide(); 
    $('#edit-field-openforreview-value-1').click(function(){ 
     $("#field-reviewers-items").show(); 
    }); 
    $('#edit-field-openforreview-value-1').click(function(){ 
     $("#field-reviewers-items").hide(); 
    }); 
}); 

Répondre

3

Vous définissez la méthode de clic deux fois, ce qui signifie $.hide() se déroulera immédiatement après $.show(). Cela se passe si vite qu'il semble que $.show() ne fonctionne même pas. Au lieu de cela, réglez le clic une fois et lui demander de basculer la visibilité:

$("#edit-field-openforreview-value-1").click(function(){ 
    $("#field-reviewers-items").fadeToggle('slow'); 
}); 

Ce code suppose que vous vouliez le même élément pour basculer la visibilité de l'élément #field-reviewers-items; J'ai pensé que c'était une hypothèse sûre puisque votre sélecteur était le même pour les deux événements de clic. Il est possible que vous avez eu une faute de frappe cependant, et le second sélecteur était censé être à la place value-2:

var $fieldRevItems = $("#field-reviewers-items"); 

$("#edit-field-openforreview-value-1").click(function(){ 
    $fieldRevItems.show('slow'); 
}); 

$("#edit-field-openforreview-value-2").click(function(){ 
    $fieldRevItems.hide('slow'); 
}); 
2
$('#edit-field-openforreview-value-1').click(function() { 
    $("#field-reviewers-items").fadeToggle('slow'); 
}); 

Afficher/masquer dans le style « lent »

Questions connexes