toggle()
和slideToggle()
都是jQuery提供的动画效果方法,用于在元素显示和隐藏之间切换,但它们的动画方式不同。
| 特性 | toggle() | slideToggle() | |------|----------|---------------| | 动画效果 | 直接显示/隐藏(可淡入淡出) | 垂直滑动效果 | | 速度控制 | 支持 | 支持 | | 回调函数 | 支持 | 支持 | | 默认效果 | 立即显示/隐藏 | 滑动动画 | | 适用场景 | 简单切换 | 需要滑动效果时 |
toggle()
方法在显示和隐藏元素之间切换,默认没有动画效果,但可以添加淡入淡出效果。
// 基本用法
$("#element").toggle();
// 带持续时间和回调函数
$("#element").toggle(1000, function() {
console.log("切换完成");
});
slideToggle()
方法通过改变元素的高度来实现滑动显示或隐藏的效果。
// 基本用法
$("#element").slideToggle();
// 带持续时间和回调函数
$("#element").slideToggle("slow", function() {
console.log("滑动切换完成");
});
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.box {
width: 200px;
height: 100px;
background: #f0f0f0;
margin: 10px;
padding: 10px;
}
</style>
</head>
<body>
<button id="btnToggle">toggle() 示例</button>
<button id="btnSlideToggle">slideToggle() 示例</button>
<div id="box1" class="box">这是 toggle() 效果</div>
<div id="box2" class="box">这是 slideToggle() 效果</div>
<script>
$(document).ready(function(){
$("#btnToggle").click(function(){
$("#box1").toggle(1000);
});
$("#btnSlideToggle").click(function(){
$("#box2").slideToggle(1000);
});
});
</script>
</body>
</html>
toggle()
的切换函数功能被移除,只保留显示/隐藏功能选择使用哪个方法取决于你需要的动画效果。如果需要简单的显示/隐藏,使用toggle()
;如果需要垂直滑动效果,则使用slideToggle()
。
没有搜到相关的文章