Это довольно просто с чистым JavaScript.
function changeBg(newBg)
{
var imgdiv = document.getElementById("divwithbackground");
imgdiv.style.backgroundImage = "url(" + newBg + ")";
}
Или используя спрайты:
imgdiv.style.backgroundPosition = "new position";
Это может быть выполнено при наведении курсора на любой из ваших li
. Регистрация событий в javascript может быть осуществлена многими способами, но для этого в сценарии я рекомендую метод QuirksMode здесь .
Что-то вроде:
function addEventSimple(obj,evt,fn) {
if (obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if (obj.attachEvent)
obj.attachEvent('on'+evt,fn);
}
А на нагрузке:
// get the list items
var ul = document.getElementById("ulId");
var lis = ul.getElementsByTagName("li");
// add event handlers
for (var i = 0; i < lis.length; i++)
{
addEventSimple(lis[i], "mouseover", (function(j) {
return function() {
// get your background image from the li somehow
changeBg(lis[j].id + "_bg.png");
};
})(i)); // use a closure to capture the current value of "i"
}