5个div替换为onclick

时间:2011-10-13 21:22:22

标签: jquery animation

我有一个div的jquery动画,可以替换对方,它工作得很好但是当点击黑色块(mydiv1)时它不会返回到它的位置为什么?

点击此链接jquery_animation_divs

<script type="text/javascript">
    $(document).ready(function(){
        $('.nn').click(function(){
            var l = $(this).css('left');

            $(this).animate({
                left: '-=' + l
            }, 1500, "easeOutBounce", function(){
                // callBack
                $("#divmain").css("background-color", $(this).css("background-color"));
            });

            $('.ff').animate({
                left: '+=' + l
            }, 1500, "easeOutBounce", function () {
                // callBack
            });

            var ff = $('.ff');
            ff.removeClass('ff').addClass('nn');

            $(this).removeClass('nn').addClass('ff');
        });
    });
</script>

3 个答案:

答案 0 :(得分:0)

当文档加载时,黑色方块的类别为“ff”,而不是“nn”,因此click处理程序永远不会应用于它。

替换

      $('.nn').click(function () {

      $('.nn').live("click",function () {

它会正常工作。

答案 1 :(得分:0)

您似乎永远不会将点击事件添加到myDiv1。当您第一次加载页面时,函数$(document).ready(function ()正在设置所有.nn类单击函数,但是当您将.ff更改为.nn类时,它没有单击函数。

答案 2 :(得分:0)

您正在使用.bind()(通过.click()),它仅适用于您在运行事件绑定代码时与您的选择器匹配的元素。您希望使用.delegate().live(),以便黑色块将包含在匹配元素集中。

以下是您使用.click(替换为.live('click',的确切代码的jsfiddle:http://jsfiddle.net/Uv2GE/