奇数jquery动画行为

奇数jquery动画行为,jquery,Jquery,我有两件事要做 首先单击图像,它会移动并展开 第二,你点击图像的外部,它会移动和收缩回它的组织。位置 由于某些原因,当您单击外部区域时,您必须等待30秒才能触发动画(收缩) 由于以下原因,需要花费很长时间: $(this).siblings().animate({opacity: 1, top:'15px'},800,function() { 这将循环通过每个兄弟姐妹并在800毫秒时设置动画。。。因此,在代码执行之前,总共需要27秒的9个图像 我简化了你的动画相当多。。。所以它现在起作用了,但

我有两件事要做 首先单击图像,它会移动并展开 第二,你点击图像的外部,它会移动和收缩回它的组织。位置

由于某些原因,当您单击外部区域时,您必须等待30秒才能触发动画(收缩)


由于以下原因,需要花费很长时间:

$(this).siblings().animate({opacity: 1, top:'15px'},800,function() {
这将循环通过每个兄弟姐妹并在800毫秒时设置动画。。。因此,在代码执行之前,总共需要27秒的9个图像

我简化了你的动画相当多。。。所以它现在起作用了,但显然还需要一些调整

变量标题=新数组(“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”)

$('.grid li')。单击(函数(){ 变量位置=$(this.index(); image=$(this.position()


正如Tim所提到的,你的动画需要很长的时间才能停止其他代码的执行

您可以向动画中添加
stop()
函数,也可以添加:

$('*').clearQueue() to your '$('#hidden').click(...` function.
这将停止页面上的所有当前动画以停止。
您可以将
$('*')
更改为
$('.grid')
以停止


有关
clearQueue
函数的更多信息,请参阅。

您可以创建一个JSFIDLE或类似的工具供我们测试吗?它们需要很长时间才能动画,因为某些元素仍在动画中。我不知道哪些是动画,但您需要解决这个问题。或者您可以将
$('*').clearQueue()
添加到
$('\35;隐藏')。单击事件处理程序停止页面上的所有元素。putVande。这很有意义。感谢您的帮助。.clearQueue()工作正常!
 var image=0;
 var p;     
$(this).siblings().animate({"opacity":1,"top": "0px"});
p = $(this).parent().detach();
 $('.pop_image img ').css({
     "left":image.left,
     "top":image.top
 });
 $('.pop_title ').css({
     "left":image.left,
     "top":image.top-50
 });              

$('.pop_image img').animate({marginLeft: '20%',marginRight: '20%', marginTop: '20%', top: '0', left: '0',width:'679px', height:'422px'},800);          
$('.pop_title').animate({marginLeft: '20%',marginRight: '20%', marginTop: '20%', top: '-50px', left: '0',fontSize: '200%'},800);
$('.pop_title ').text(titles[location]);  

  });


$('#hidden').click(function() {
  $('.pop_title').animate({fontSize: '100%',left: image.left, right: image.top},800);      
  $('.pop_image img').animate({width:'339px', height:'211px',left: image.left, right: image.top},800);     
});  
$('*').clearQueue() to your '$('#hidden').click(...` function.