Question

Je cherche à afficher et masquer une série de divs à l'aide bascule, slideUp et slideDown. Je suis en mesure d'obtenir la div slideDown mais je ne peux pas l'obtenir à slideUp. Je l'ai utilisé ce script sans incident avant, donc je suis vraiment confus pour expliquer pourquoi cela ne fonctionne pas. J'ai inclus mon script et la div je tente de montrer et se cacher.

Note rapide: Quand je mets une étiquette régulière ancienne p dans la div « véhicules cachés », il a bien fonctionné. Il montrait et se cacher comme il était censé. Cependant, quand je mets ma table de retour dans cette div, il ne fonctionne pas.

<script type="text/javascript">
$(document).ready(function() {
    $(".ShowVehicles").toggle(function() {
        $(".HiddenVehicles").slideDown(2000);
        $(this).text("Hide All");
    }, function () {
        $(".HiddenVehicles").slideUp(2000);
        $(this).text("Show All");                
    });
});

<div class="HiddenVehicles" style="display:none; width:730px;">
    (there will be a giant table in here)
    </div>
Était-ce utile?

La solution

Je posté dans les commentaires, et il a aidé à résoudre le problème, donc je suis annonce à nouveau ici:

Lorsque des animations slideUp / slideDown ne fonctionnent que dans un sens, il est souvent un bug de positionnement. Soit l'élément que vous animez a besoin d'être mis à position:relative ou les enfants de l'élément ont un float qui leur sont appliquées et ne sont pas donner l'élément parent hauteur réelle.

Je voudrais essayer d'ajouter float:none à la table. Si cela ne fonctionne pas essayez d'ajouter position:relative au div#HiddenVehicles.

Autres conseils

Pour ceux sans problème flotteur / positionnement, je trouve que la mise à niveau de jQuery 01.10 à 01.11 a résolu le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top