嵌套jQuery动画

时间:2014-09-24 06:54:04

标签: jquery

我有一个标签架构,它运行良好,但我想在每个标签内显示一个信息div几秒钟,然后滑动而不进行任何交互。这是我的标签脚本:

$(document).ready(function() {
$("#temascont").find("[id^='cont']").hide(); // Hide all tabs
$("#menucont li:first").attr("id","actual"); // Activate first tab
$("#temascont #cont0").fadeIn(); // Display the first tab's contents
$('#menucont a').click(function(e) {
    e.preventDefault();
    if ($(this).closest("li").attr("id") == "actual"){ // Find the actual tab
     return;
    }
    else{
      $("#temascont").find("[id^='cont']").hide(); // Hide all the content
      $(this).parent().attr("id","actual"); // Activate the actual Div
      $("#menucont li").attr("id",""); //Resetting all id's
      $('#' + $(this).attr('name')).fadeIn(); // Show content for the actual tab
    }
});
});

到目前为止一切顺利,现在这是我想要嵌套的动画。

$(".addsmin").delay( 1500 ).animate({left:"-200"},{duration:300});

如果我把它放在初始函数的开头,当我点击任何包含过渡div(.addsmin)的选项卡时,它只出现一次,如果把它放在else括号内,也会出现同样的情况。

你说什么,这可能吗?

这是小提琴:http://jsfiddle.net/roec4h4z/

1 个答案:

答案 0 :(得分:1)

您需要在每次点击时重置左侧属性: http://jsfiddle.net/roec4h4z/2/

 $(".addsmin").delay( 1500 ).css("left", "0").animate({left:"-200"},{duration:300});

此外,当您使用 $(" .addsmin")时,您实际上会在页面上选择所有.addsmin ..您应该只为#34内的一个设置动画;实际" div你点击了。