我有一個動態生成的照片庫使用ASP。每張照片都包含在一個<div>
中,其中photoID爲ID和用於選擇該照片的複選框。例如:JS/JQuery - 使用複選框更改隨機元素的背景顏色
<div id="<%=rs("photoID")%>">
<img src="blah.jpg"><br>
<input type="checkbox" id="checkbox_<%=rs("photoID")%>" onclick="selectPhoto(<%=rs("photoID")%>)">
</div>
我會再有一個JS的功能,其改變特定的DIV的背景顏色爲它選擇了表演,我只是做這件事,希望這是正確的:
function selectPhoto(id)
{
if (document.getElementById('checkbox_'+id).checked == true)
{
document.getElementById(id).style.backgroundColor = '#0066CC';
}
if (document.getElementById('checkbox_'+id).checked == false)
{
document.getElementById(id).style.backgroundColor = '#FFFFFF';
}
}
所以,如果勾選了被點擊的複選框,然後將BG顏色更改爲突出顯示我的照片的內容。如果被點擊的複選框未被選中,則返回原始顏色。
這似乎很簡單,但我現在感到困惑的是,如果用戶點擊一個名爲'unselect_all'的'un-select'複選框,我可以將所有高亮顯示的照片變回白色」。
我在想,會收集所有以這樣的形式「gallery_form」檢查複選框,得到複選框的ID的一個功能,去掉「checkbox_」前綴,然後更改所有這些DIV ID的回到原來的白顏色。
或...我可以改變DIV有一個ID前綴,如'photo_ <%= rs(「photoID」)%>',找到所有具有該前綴的DIV ID,然後更改背景顏色。
這是完成此操作的最佳方法嗎?如果是這樣,有沒有人有任何建議/片段讓我去?雖然我可以看到在我的頭上的功能,我的基本技能JS不要讓我寫這樣一個劇本,沒有一點幫助..
非常感謝