Вот пример кода, которым я хочу управлять с помощью jQuery (белая кнопка bg на черной странице bg):
<ul class="buttons">
<li class="button-displays"><a href="/products/">Products and Services for the company</a></li>
<li class="button-packaging"><a href="/packaging/">Successful packaging services for the company</a></li>
<li class="button-tools"><a href="/tools/">Data, mail and print tools for your company</li>
</ul>
В файле CSS у меня есть следующее:
.buttons li { background-image: url(images/sprite.png); height:126px; width:293px; float:left; margin:0 0 0 9px; }
.button-displays { background-position: 0 125px; }
.button-packaging { background-position: 0 250px; }
.button-tools { background-position: 0 375px; }
Я создал эти элементы списка так, чтобы они выглядели как нажимаемые кнопки, а фоновый спрайт помогает заполнить фон кнопок.
Моему клиенту не нравится это в Firefox и Safari, когда страница загружается дляв первый раз текст внутри якоря загружается первым, затем фоновый спрайт li (который составляет около 150 Кбайт / с, у меня всего 6 кнопок) загружается только тогда, когда спрайт полностью загружен.Фон внезапно появляется после нескольких секунд загрузки, оставляя текст в якоре до тех пор, пока фон не появится.
Я попытался поиграть со следующим кодом в надежде, что это задержит загрузку этой разметки.и CSS:
$('.buttons li a').load(function() {
});
и
$(window).load(function() {
$(.buttons);
});
Я недостаточно разбираюсь в jQuery, чтобы знать, заставляет ли этот код ждать, пока все элементы загрузятся, прежде чем появиться.Я бы предпочел заставить элементы элемента списка в коде кнопок задерживать отображение на странице, пока спрайт bg img не будет полностью загружен.
Спасибо за вашу помощь и предложения!