Я согласен с тем, что здесь говорит Джейсон, но если вы хотите, чтобы оба изображения кэшировались до того, как пользователь наведет курсор на ссылки, тогда зачем использовать два изображения?
Некоторое время назад мне пришла в голову небольшая идея, которую я хотел бы использовать: у нее нормальное состояние и состояние наведения кнопки на одном и том же изображении, нормальное состояние кнопки вверху и состояние наведения кнопки Кнопка внизу, это означает, что оба состояния кнопки кешируются сразу, так как это одно и то же изображение! И у вас нет множества разных изображений для разных состояний ваших кнопок, заполняющих вашу папку изображений, только одно изображение, которое относится к каждому состоянию этой ссылки.
Затем вы можете избавиться от тега img и его стиля (отображение: нет и т. Д.)
И ссылки должны быть такими:
#home a {
background: url('./images/nav/home-normal.png') no-repeat left top;
width: 100px;
}
#home a:hover {
background-position:left bottom;
}
вам нужно также указать высоту ссылки, чтобы она не отображала какую-либо часть другого состояния ссылки, имеет смысл? Вы эффективно разрезаете фоновое изображение пополам с помощью размерных стилей элементов.
JavaScript не требуется, и изменение состояния происходит мгновенно, поскольку изображение уже загружено:)
надеюсь, это поможет!