2011-10-26 71 views
1

我从一个菜单按钮动画图像一定量。它按菜单按钮滑出。然后还有另一个链接,点击图片需要滑出更多。这没有发生。jquery动画两次相同的项目

这里是jQuery的

$(document).ready(function() { 
    $("#busoptbio").hide(); 
    $("#current").toggle(function() { 
     $("#busoptbio").show(); 
     $("#busoptbio").animate({ 
      left: '+=348px' 
     }, 1200); 
    }, function() { 
     $("#busoptbiolnk").click(function() { 
      $("#busoptbio").animate({ 
       left: '+=550px' 
      }, 1200); < ------2nd animate not working 
     }); 
    }); 
}); 

非常感谢, 安德烈

回答

1

当前您正在使用将两个事件绑定到单个链接的切换功能,在您的情况下,这是ID为#current的元素。只有当您点击#current时才会调用这些事件。您不能在切换器内听取点击,切换器本身已经是一个监听器。

所以,如果你想拥有,当你点击“专家访谈”第二动画发生,你需要以不同的方式来解决:

$(document).ready(function() { 

    $("#busoptbio").hide(); 
    $("#current").click(function(e) { 
     e.preventDefault(); 
     $("#busoptbio").show(); 
     $("#busoptbio").animate({ 
      left: '+=348px' 
     }, 1200); 
    }); 

    $("#busoptbiolnk").click(function() { // When the link is clicked, the rest rolls out 
     $("#busoptbio").animate({ 
      left: '+=550px' 
     }, 1200); 
    }); 
}); 

希望这有助于!

编辑

如果你将要使用<a>作为触发,请务必要么不被触发(打算在HREF链接)定义href或阻止默认事件。

我已经更新了代码,以防止默认动作,但在这之前提到的也可以通过改变<a>

+0

当我添加.click到第一节它根本不工作。 – Andrea

+0

你对第一部分的意思是什么? – Joey

+0

第一个动画功能: – Andrea

0

从看网站,动画工作正常,问题是您的单击事件是对格而不是链接。从:$("#busoptbiolnk").click$("#busoptbiolnk a").click,这样<a>标签本身就会收到点击。

在Chrome中进行测试,在第二个链接上单击彩色框下方而不是文本。

编辑:

我看你加了我的建议,你现在的问题是切换为Joey说。如果您点击“业务优化服务”,再次点击它,然后点击链接,它现在会切换。删除切换,只需绑定没有它的事件。再次

$(document).ready(function(){ 

    $("#busoptbio").hide(); 
    $("#current").click(function() { 
    $("#busoptbio").show(); 
    $("#busoptbio").animate({left: '+=340px'}, 1200); 
    return false; 
    }); 
    $("#busoptbiolnk a").click(function(){ 
    $("#busoptbio").animate({left: '+=550px'}, 1200); 
    return false; 
    }); 
}); 

编辑:

您的页面获取动画播放之前重定向,添加返回false到单击处理(如上)来解决。或者,将#current的href设置为“#”

+0

不,不这样做来解决。 – Andrea

+0

我有Joey的代码和你的$(“#busoptbiolnk a”)。点击并且根本不工作 – Andrea

+0

该页面跟随在一个#current的href并刷新页面,所以它看起来没有任何作用。如果您使用萤火虫或Chrome中的开发人员工具遍历代码,则可以看到它展开,然后重新加载页面。 – Benn