我正在製作一個導航欄並讓它工作。我想改變我的寫作。有重複的代碼看起來像這樣:Javascript,我可以將其更改爲循環嗎?
$("nav span").mouseover(function(){
var currentColor = $("#" +$(this).attr("data-loc")).css("backgroundColor");
var currentPos = $(this).position().left;
if ($(this).attr("data-loc") === "home"){
$("#hoverstyle").animate({"left":currentPos},150);
$("#hoverstyle").css("backgroundColor",currentColor);
$("#hoverstyle").css({width:$(this).width()});
}
else if($(this).attr("data-loc") === "writer"){
$("#hoverstyle").animate({"left":currentPos},150);
$("#hoverstyle").css("backgroundColor",currentColor);
$("#hoverstyle").css({width:$(this).width()});
}
else if($(this).attr("data-loc") === "historian"){
$("#hoverstyle").animate({"left":currentPos},150);
$("#hoverstyle").css("backgroundColor",currentColor);
$("#hoverstyle").css({width:$(this).width()});
}
else if($(this).attr("data-loc") === "teacher"){
$("#hoverstyle").animate({"left":currentPos},150);
$("#hoverstyle").css("backgroundColor",currentColor);
$("#hoverstyle").css({width:$(this).width()});
}
else if($(this).attr("data-loc") === "fencing"){
$("#hoverstyle").animate({"left":currentPos},150);
$("#hoverstyle").css("backgroundColor",currentColor);
$("#hoverstyle").css({width:$(this).width()});
}
});
但我無法弄清楚如何使它更好,我想爲使其成爲一個循環,但我不能弄明白-.-。 。 請幫忙!
爲什麼不使用'switch'? – Cilan
爲什麼你使用'if' /'else if'?在任何情況下你都會做同樣的事情。 –
爲什麼你添加了,如果你沒有做任何獨立的事情 –