javascript - Existe-t-il une bonne solution pour afficher et masquer des animations?
阿神
阿神 2017-06-30 09:59:55
0
5
980

Exemple

Cela a le même effet que cette animation. p est masqué en premier. Après avoir cliqué sur le bouton, il s'affiche et a un effet d'animation. C'est la même chose lorsqu'il est masqué. Mais je l'ai définitivement écrit trop compliqué. Existe-t-il une solution plus simple (pas besoin de bibliothèques tierces) ?

阿神
阿神

闭关修行中......

répondre à tous(5)
漂亮男人

Essayez d'utiliser la transition :
démo

为情所困

L'idée la plus simple est :

  1. Le bloc n'a pas besoin d'être masqué, il suffit de régler la hauteur sur 0 et il sera invisible

  2. Utilisez transition pour obtenir des effets d'animation

  3. Pas besoin de l'utiliserhiddenshow两个类名来控制,其实它就只有两种状态,所以可以认为无showC'est juste caché

  4. De plus, il n'est pas nécessaire d'écrire un show()hide()分开绑定,其实你这个按钮点一下是展开,再点一下隐藏,用一个toggle()il suffit de changer l'état d'affichage

J'ai apporté quelques modifications à votre code, comme suit :
https://jsfiddle.net/boxsnake...

女神的闺蜜爱上我
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <style type="text/css">
        .box{
            background: red;
            height: 200px;
            width: 200px;
            transition: height 0.8s;
        }
    </style>
    <body>
        <button onclick="changeHeight()">click me</button>
        <p class="box" style="height: 0;"></p>
    </body>
    <script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
        function changeHeight(){
            var box=$('.box')
            if($('.box').height()!=0){
                $('.box').height(0)
            }else{
                $('.box').height(200)
            }
            
        }
    </script>
</html>
習慣沉默

La question peut être résolue avec CSS3 (s'il n'est pas nécessaire qu'elle soit compatible avec IE)

小葫芦

Peut-il être implémenté avec jquery ?

//头部引入jquery,toggle()
<body>
    <p>bugbugbug</p>
    <button>Toggle</button>
    <script type="text/javascript">
    $(document).ready(function() {
        $("button").click(function() {
            $("p").toggle(1000);
        });
    });
    </script>
</body>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!