Это основано на посте Мыслителя, но я обнаружил, что оно не работает.
Я обнаружил, что $('#trans_png').load
не срабатывает (jquery 1.9.1, firefox) - мне пришлось использовать событие загрузки src изображения, т. Е. $('#logo img').attr('src', 'images/layout/logo.png').load(function() {
. Подойдет любое изображение.
Я также обнаружил, что просто копирование фона не работает, мне пришлось явно очистить цвет и добавить URL-адрес изображения.
Мне также пришлось применить это изменение к нескольким элементам (подменю ul
s), поэтому в функцию загрузки был добавлен цикл:
$('#logo img').attr('src', 'images/layout/logo.png').load(function() {
$("ul.MenuBarHorizontal ul").each(function() {
$(this).css('background-color','none').css('background','none').css('background', $('#menu-trns-bg').css('background-image'));
});
});
Это, по сути, ответ Мыслителя, исправленный, однако я не смог вразумительно вписать это в комментарий.
Просто чтобы уточнить, UL по умолчанию имеют background-color: white;
, а div расположен вне экрана div#menu-trns-bg {position: absolute;left:-3000px;background-image:url(../images/layout/body-bg.png);}
Я использую это в меню Spry.