Javascript 为什么要设置动画';开始时执行的s回调函数(完成)?
重复: 是的,但有点不同于 我正在使用jQuery 3.1.0这是我的代码:Javascript 为什么要设置动画';开始时执行的s回调函数(完成)?,javascript,jquery,Javascript,Jquery,重复: 是的,但有点不同于 我正在使用jQuery 3.1.0这是我的代码: $(document).ready(function () { ToggleAsideBar(); }); function ToggleAsideBar(){ $(".ah-sidebar-toggle").click(function(){ let toggleSize = $(".ah-logo").width() == 230 ? "50px" : "230px"; $(".ah-lo
$(document).ready(function () {
ToggleAsideBar();
});
function ToggleAsideBar(){
$(".ah-sidebar-toggle").click(function(){
let toggleSize = $(".ah-logo").width() == 230 ? "50px" : "230px";
$(".ah-logo").animate(
{ width: toggleSize },200,"linear",function () {alert("Animation Complete!");'}
);
});
}
问题:
在我的例子中,在动画开始之前显示警报。我想在动画完成后显示警报。有没有想过我在上面的代码中做错了什么
现场示例:
jquery的
动画和css的转换之间发生了冲突。
如果您决定使用animate
-您应该从css文件中删除转换
行
以下是一个工作版本(css中没有转换):
$(文档).ready(函数(){
ToggleAsideBar();
});
函数ToggleAsideBar(){
//获取浏览器的宽度
$(“.ah徽标”)。单击(函数(){
让toggleSize=$(“.ah logo”).width()==230?“50px”:“230px”;
$(“.ah徽标”).animate(
{width:toggleSize},200,“摆动”
).promise().done(函数()){
警报(“动画完成!”);
});
});
}
.ah标志{
宽度:230px;
浮动:左;
字号:600;
字体大小:16px;
文本对齐:居中;
溢出:隐藏;
}
a{
线高:50px;
显示:块;
}
重复的错误链接。请修好。现在你可以检查我修好了。你说的“碰撞”是什么意思css
转换
不应影响jQuery.animate()
、.promise()
或.done()
@Dekel您能解决另一个小问题吗。在上面的JSFIDLE输出中,为什么css在警报框后显示剩余效果。您能更具体一点吗?哪个JSFIDLE?“为什么css在警报框后显示剩余效果。”转换的持续时间大于.animate()
duration@Dekel在上面的代码片段中。警报框显示后动画完成。