如何创建 jQuery 左右滑动切换效果
答案:使用jQuery animate()
方法
jQuery 中没有类似 slideLeft()
和 slideRight()
和 slideUp()
和 slideDown()
这样的方法,但是您可以使用 jQuery 的 animate()
方法来模拟这些效果。
让我们看一下以下示例,以了解其基本工作原理:
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery slideLeft 和 slideRight 效果</title>
<style>
.box{
float:left;
overflow: hidden;
background: #f0e68c;
}
/* 向内部内容添加填充和边框
以获得更好的动画效果 */
.box-inner{
width: 400px;
padding: 10px;
border: 1px solid #a29415;
}
</style>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(document).ready(function(){
var boxWidth = $(".box").width();
$(".slide-left").click(function(){
$(".box").animate({
width: 0
});
});
$(".slide-right").click(function(){
$(".box").animate({
width: boxWidth
});
});
});
</script>
</head>
<body>
<button type="button" class="slide-left">Slide Left</button>
<button type="button" class="slide-right">Slide Right</button>
<hr>
<div class="box">
<div class="box-inner">Lorem ipsum dolor sit amet...</div>
</div>
</body>
</html>
有一种更好的方法来创建这种效果。 下面的示例将在 right-to-left 和 left-to-right 之间滑动切换框,类似于 slideToggle()
效果。
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery 滑动左右切换效果</title>
<style>
.box{
float:left;
overflow: hidden;
background: #f0e68c;
}
/* 向内部内容添加填充和边框
以获得更好的动画效果 */
.box-inner{
width: 400px;
padding: 10px;
border: 1px solid #a29415;
}
</style>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(document).ready(function(){
$(".slide-toggle").click(function(){
$(".box").animate({
width: "toggle"
});
});
});
</script>
</head>
<body>
<button type="button" class="slide-toggle">Slide Toggle</button>
<hr>
<div class="box">
<div class="box-inner">Lorem ipsum dolor sit amet...</div>
</div>
</body>
</html>
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答: