Javascript Overlapping, Установить Z порядок Jquery - PullRequest
0 голосов
/ 21 ноября 2011

Хорошо, я застрял. Я использую opencart, и я добавил плагин jquery zoom для увеличения изображений.

Поскольку теперь это противоречит меню, я не могу понять, что делать?

Есть ли способ задания порядка сортировки jquery на странице. Я пробовал плагин JQuery topZIndex, но это не сработало.

PS: я использую z-index также в CSS.

Я пробовал:

#menu > ul > li {
position: relative; i also tried absolute
float: left;
z-index: 100;   
}

Для jqzoom я использую:

$(function() {
var options =
        {
            zoomType: 'innerzoom',
            zoomWidth: 800,
            zoomHeight: 400,
            showEffect:'fadeout',
            hideEffect:'fadeout',
            fadeoutSpeed: 'slow',
            preloadImages: 'true',
            preloadText: 'Loading...'

        }

$(".jqzoom").jqzoom(options);
  });

Моя проблема в том, что раскрывающееся меню должно проходить поверх изображения jqzoom, однако раскрывающееся меню появляется за изображением jqzoom. Мне было интересно, есть ли способ установить z-index для jquery, чтобы установить его обратно или что-то еще?

Я попытался поиграть с плагином topZIndex () jquery и использовал $(".jqzoom").topZIndex( { increment: 0 } ); и $(".jqzoom").topZIndex( { increment: 100 } );

JavaScript для меню:

$('#menu ul > li > a + div').each(function(index, element) {
    // IE6 & IE7 Fixes
    if ($.browser.msie && ($.browser.version == 7 || $.browser.version == 6)) {
        var category = $(element).find('a');
        var columns = $(element).find('ul').length;

        $(element).css('width', (columns * 143) + 'px');
        $(element).find('ul').css('float', 'left');
    }       

    var menu = $('#menu').offset();
    var dropdown = $(this).parent().offset();

    i = (dropdown.left + $(this).outerWidth()) - (menu.left + $('#menu').outerWidth());

    if (i > 0) {
        $(this).css('margin-left', '-' + (i + 5) + 'px');
    }
});

// IE6 & IE7 Fixes
if ($.browser.msie) {
    if ($.browser.version <= 6) {
        $('#column-left + #column-right + #content, #column-left + #content').css('margin-left', '195px');

        $('#column-right + #content').css('margin-right', '195px');

        $('.box-category ul li a.active + ul').css('display', 'block'); 
    }

    if ($.browser.version <= 7) {
        $('#menu > ul > li').bind('mouseover', function() {
            $(this).addClass('active');
        });

        $('#menu > ul > li').bind('mouseout', function() {
            $(this).removeClass('active');
        }); 
    }
}

$('.success img, .warning img, .attention img, .information img').live('click', function() {
    $(this).parent().fadeOut('slow', function() {
        $(this).remove();
    });
}); 
});

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Просматривая исходный код jqzoom, всплывающее окно масштабирования имеет z-индекс 5001. Вам нужно установить в раскрывающемся списке нечто большее, чем это.

0 голосов
/ 21 ноября 2011

Вы пробовали делать:

$("#your_dropdown_menu_id").css("z-index", 99999);
...