Jquery 动画不适用于变换 属性
Jquery animate doesn't work with transform property
所以当我尝试使用 Jquery animate
函数时它根本不起作用。我尝试了每一件事,但仍然无法正常工作。这是 HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(".show").click(function () {
$(".error-box").animate({
transform: "translateX(0%)",
}, 500);
});
</script>
<style>
.error-box {
transform: translateX(-100%);
}
</style>
</head>
<body>
<div class="error-box">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempore,
excepturi?
</div>
<button class="show">Göster</button>
</body>
</html>
我建议通过添加带有规则 transform: translateX(0%)
的 class 来使用动画。像那样:
$(".error-box").addClass('animate');
将动画延迟 transition: .5s
添加到 .error-box
并将此 class 添加到您的 css:
.error-box.animate {
transform: translateX(0%);
}
结果,你会得到想要的结果。
$(".show").click(function () {
$(".error-box").addClass('animate');
});
.error-box {
transform: translateX(-100%);
transition: .5s;
}
.error-box.animate {
transform: translateX(0%);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div class="error-box">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempore, excepturi?
</div>
<button class="show">Göster</button>
也许您可以使用 CSS 制作动画?这正是 jQuery 正在做的事情:)
$(".show").click(function () {
$(".error-box").css({
transform: "translateX(0%)",
});
});
.error-box{
border:1px solid #ccc;
padding:2px 4px;
margin-bottom:10px;
position:relative;
transform:translateX(-110%);
transition:all 500ms;
display:inline-block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="error-box">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempore,
excepturi?
</div>
<br>
<button class="show">Göster</button>
所以当我尝试使用 Jquery animate
函数时它根本不起作用。我尝试了每一件事,但仍然无法正常工作。这是 HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(".show").click(function () {
$(".error-box").animate({
transform: "translateX(0%)",
}, 500);
});
</script>
<style>
.error-box {
transform: translateX(-100%);
}
</style>
</head>
<body>
<div class="error-box">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempore,
excepturi?
</div>
<button class="show">Göster</button>
</body>
</html>
我建议通过添加带有规则 transform: translateX(0%)
的 class 来使用动画。像那样:
$(".error-box").addClass('animate');
将动画延迟 transition: .5s
添加到 .error-box
并将此 class 添加到您的 css:
.error-box.animate {
transform: translateX(0%);
}
结果,你会得到想要的结果。
$(".show").click(function () {
$(".error-box").addClass('animate');
});
.error-box {
transform: translateX(-100%);
transition: .5s;
}
.error-box.animate {
transform: translateX(0%);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div class="error-box">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempore, excepturi?
</div>
<button class="show">Göster</button>
也许您可以使用 CSS 制作动画?这正是 jQuery 正在做的事情:)
$(".show").click(function () {
$(".error-box").css({
transform: "translateX(0%)",
});
});
.error-box{
border:1px solid #ccc;
padding:2px 4px;
margin-bottom:10px;
position:relative;
transform:translateX(-110%);
transition:all 500ms;
display:inline-block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="error-box">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempore,
excepturi?
</div>
<br>
<button class="show">Göster</button>