如果您对新的 HTML5 功能持开放态度,我将使用属性“数据”来存储每个 div 上的 bg 计数,并且我将通过仅使用 3 个可能的背景来简化答案,但您可以在大批:
var bgs = new Array('images/bg_a.jpg','images/bg_b.jpg','images/bg_c.jpg');
function change(div_id){
elm_div = document.getElementById(div_id);
if((elm_div.getAttribute('data-bg') == null || elm_div.getAttribute('data-bg') == (bgs.length-1)){
new_bg_pos = 0
}else{
new_bg_pos = elm_div.getAttribute('data-bg');
new_bg_pos++
}
elm_div.setAttribute('data-bg',new_bg_pos);
elm_div.style.background = "url("+bgs[new_bg_pos]+")";
}
div_id 是您要更改的分区的 id,该函数将为每个分区分别旋转遍历数组的所有背景,并保存属性“data-bg”上的位置(可能与旧浏览器不兼容)。
同样在 HTML 中,锚点会尝试将您发送到某个位置,而不是使用其他链接,例如跨度:
<span onclick="change('my_div')" >Change BG of "my_div" the next bg </span>