Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么要设置动画';开始时执行的s回调函数(完成)?_Javascript_Jquery - Fatal编程技术网

Javascript 为什么要设置动画';开始时执行的s回调函数(完成)?

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

重复:

是的,但有点不同于

我正在使用jQuery 3.1.0这是我的代码:

$(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在上面的代码片段中。警报框显示后动画完成。