在jquery中重复单击动画
Repeating the click animation in jquery
当单击带有一些动画的状态时,我使用jquery来显示文本。问题是,动画效果仅在第一次单击状态时运行,而在第二次单击时不运行。代码如下:
$("#maharashtra").live("click",function(){
$("#mainbg").hide();
$("#divmaha").animate({left:"700px"});
$("#divmaha").show() ;
$("#divguj").hide();
$("#divgoa").hide();
$("#divkerala").hide();
$("#divassam").hide();
$("#divmeghalaya").hide();
$("#divarunachal").hide();
$("#divmizoram").hide();
$("#divkarnataka").hide();
$("#divandhra").hide();
$("#divtamilnadu").hide();
$("#divraj").hide();
$("#divjammu").hide();
$("#divuttaranchal").hide();
$("#divhp").hide();
$("#divharyana").hide();
$("#divpunjab").hide();
$("#divdelhi").hide();
$("#divmadhya").hide();
$("#divjharkhand").hide();
$("#divchattisgarh").hide();
$("#divup").hide();
$("#divorissa").hide();
$("#divbihar").hide();
$("#divwestbengal").hide();
$("#divsikkim").hide();
$("#divtripura").hide();
$("#divnagaland").hide();
});
这是因为已经执行了动画。现在,引入一个"重置"按钮,并添加动画中所有内容的反转,使其移回原来的位置。现在,每当有人点击动画按钮时,它就会被动画化。
顺便说一句,你可以压缩这个代码。组合选择器并用逗号分隔。
尝试在上实现
$("#maharashtra").on("click",function(){ });
由于你还没有提供完整的代码,我有另一个猜测,你可能没有重置动画。在隐藏了所有的东西之后。。在第二次点击之前,你是否显示了所有剂量隐藏的东西。?
因为动画是在第一次点击时执行的。试试这个。你会知道问题出在哪里。
$("#maharashtra").live("click",function(){
reset();
$("#mainbg").hide();
$("#divmaha").animate({left:"+=700px"});
$("#divmaha").show() ;
});
function reset ()
{
//reset your element to original position here and then you dont need write +=700px you can simply write left:"700px"
}
现在,如果你想的话,你的元素每次点击都会向左移动700像素。小提琴:http://jsfiddle.net/chetandoke/QwWUn/
相关文章:
- 单击css动画后丢失的事件
- 无法在第一次单击时禁用链接,并在动画完成后重新启用
- 单击时SVG菱形展开动画
- 调用函数和单击动画
- 操作方法:第一次单击动画 1,第二次单击动画 2
- 单击时取消动画,单击时删除类
- 单击时重播 GIF 动画/重新加载 GIF
- 在单击位置显示动画
- 在进行动画时防止多次单击(stopPropagation&:animated)
- 单击时为现有下拉菜单制作动画
- 单击按钮时停止画布动画
- 菜单在每单击一次时切换不同的动画
- JS单击事件不适用于暂停CSS动画
- 多次单击时运行关键帧动画
- Jquery 动画在单击几次后消失
- 每次使用 jQuery 单击按钮时显示动画
- 单击时重新启动音频和动画
- 如何将此代码编写为链接单击动画
- 在第一次单击动画时,在第二次反向动画时:如何
- 在jquery中重复单击动画