0

所以我一直在寻找这个,但我仍然没有找到一个解决方案而不一起杀死锚功能。

我正在使用锚标记为某些内容 DIV 的淡入和淡出设置动画。当用户单击另一个锚标记时出现该错误,而前一个的动画仍在发生,我最终将两个 DIV 堆叠在一起。我发现的其他解决方案,杀死链接功能并在之后使它们无用。我需要在那个 DIV 的动画进行时说一些东西,这个锚是没用的。但是一旦动画完成,这个锚就可以正常工作了。

我试过了

if ($("#" + visibleCtn).is(':animated')) {
     $("#modRightCol a").click('onclick', null);
    }

if ($("#" + visibleCtn).is(':animated')) {
     $("#modRightCol a").click(function(){
     return false
         });
     }

这完全删除了按钮:

if ($("#" + visibleCtn).is(':animated')) {
     $("#modRightCol").undelegate("a", "click");
     return false;
    }

这是显示和隐藏的代码:

$("#modRightCol").delegate("a", "click", function(e) {
            e.preventDefault();
            var locInfo = $(this).attr("rel") + "Ctn";
            var locBtn = $(this).attr("rel") + "Btn";
            newCtn = $('#' + locInfo);

            //Change Map Location Button State
            cityLink.css('backgroundPosition','bottom');
            $(this).css('backgroundPosition','top');

            //Hide currently visible information
            allInfoCtn.each(function() {
                if($(this).hasClass('modActive')) {
                    visibleCtn = $(this).attr('id');
                } 
            }); 


            $("#" + visibleCtn).animate({
                        opacity: 0
                    }, 500, function(){
                         $("#" + visibleCtn).hide().removeClass("modActive").removeAttr("style");

                         //Show information related to location clicked
                        newCtn.show().animate({
                                opacity: 1
                            }, 500, function(){
                                newCtn.addClass('modActive');
                            });
                    }); //end animation function

           //Block clicks during animation              
           if ($("#" + visibleCtn).is(':animated')) {
                $("#modRightCol").undelegate("a", "click");
                return false;
            }

        });
4

0 回答 0