Maison > Questions et réponses > le corps du texte
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) ?
为情所困2017-06-30 10:01:55
L'idée la plus simple est :
Le bloc n'a pas besoin d'être masqué, il suffit de régler la hauteur sur 0 et il sera invisible
Utilisez transition
pour obtenir des effets d'animation
Pas besoin de l'utiliserhidden
和show
两个类名来控制,其实它就只有两种状态,所以可以认为无show
C'est juste caché
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...
女神的闺蜜爱上我2017-06-30 10:01:55
<!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>
習慣沉默2017-06-30 10:01:55
La question peut être résolue avec CSS3 (s'il n'est pas nécessaire qu'elle soit compatible avec IE)
高洛峰2017-06-30 10:01:55
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>