1

我刚刚创建了一个功能区样式菜单,当您使用鼠标输入和文档单击列表中的第一个元素时,问题出在 FireFox 和 Google Chrome 浏览器中总是闪烁我在 IE 中没有这个问题有人可以查看我的页面并查看源代码并拥有一个看看我的 jquery 代码,看看你是否能找到导致这个小故障的原因 - 页面在这里

它必须与我传入这个 selected_slide(this) 的 mouseenter 函数有关

鼠标输入:

function select_slide(element) {
    if($(element).hasClass('.nav_divider_before')) return 
    $('.nav_browse_ul li')..removeClass('active');      
    $(element).addClass('active');      

    if($(element).attr('data-id') != null) {
        var current_content = $('#' + $(element).attr('data-id'));

        selected_slide = current_content;               
        $('.ribbon_slides').show();
        rotate_ribbon_slides(element);      

        if(isAnimating) return;

            if(!isOpen) {
                isAnimating = true;
                $('.ribbon_slides').animate({'width': '+=' + (current_content.width() + 20).toString() })
                $('.ribbon_panel').animate({'width': '+=' + (current_content.width() - 14).toString()}, function(){ 
                    isOpen = true;
                    isAnimating = false;
                })              
            }

        }

    }

文档点击

$(document).click(function(e) {
        /**/
        if(!$(e.target).closest('.ribbonmenu').length) {
            if($('.nav_browse_ul li').hasClass('active')) {
                $('.nav_browse_ul li').removeClass('active');   
            }
            $('.ribbon_slides').animate({'width': '-=' + ($(selected_slide).width() + 20).toString()});
            $('.ribbon_panel').animate({'width': '-=' + $(selected_slide).width()}, function() {
                $('.nav_browse_ul li.nav_divider_before').css('margin-right', '0px');
                $('.ribbon_slides').hide();                     
            });

            isOpen = false;
        }

    })
4

0 回答 0