我不是編程專家。我試圖讓用戶選擇激活不同的幻燈片,爲此,我需要激活所選的一個,並停用其他的。現在,我有四個幻燈片;但我也可以有20個。而對於20位來說,這樣的代碼真的會顯得很難看:如何簡化Javascript如果/然後倍數?
function setSlider(val)
{
if (val == 1)
{
$('#slider1').nivoSlider();
document.getElementById('slider').style.visibility = 'hidden';
document.getElementById('slider1').style.visibility = 'visible';
document.getElementById('slider2').style.visibility = 'hidden';
document.getElementById('slider3').style.visibility = 'hidden';
document.getElementById('slider4').style.visibility = 'hidden';
}
if (val == 2)
{
$('#slider2').nivoSlider();
document.getElementById('slider').style.visibility = 'hidden';
document.getElementById('slider1').style.visibility = 'hidden';
document.getElementById('slider2').style.visibility = 'visible';
document.getElementById('slider3').style.visibility = 'hidden';
document.getElementById('slider4').style.visibility = 'hidden';
}
if (val == 3)
{
$('#slider3').nivoSlider();
document.getElementById('slider').style.visibility = 'hidden';
document.getElementById('slider1').style.visibility = 'hidden';
document.getElementById('slider2').style.visibility = 'hidden';
document.getElementById('slider3').style.visibility = 'visible';
document.getElementById('slider4').style.visibility = 'hidden';
}
if (val == 4)
{
$('#slider4').nivoSlider();
document.getElementById('slider').style.visibility = 'hidden';
document.getElementById('slider1').style.visibility = 'hidden';
document.getElementById('slider2').style.visibility = 'hidden';
document.getElementById('slider3').style.visibility = 'hidden';
document.getElementById('slider4').style.visibility = 'visible';
}
}
我很肯定有更好的實現。像
function setSlider(val)
{
$('#slider' . val).nivoSlider();
//loop here from 1 to 20
document.getElementById('slider' . val).style.visibility = 'hidden';
// loop end
document.getElementById('slider' . val).style.visibility = 'visible';
}
我試過了,但它不工作......任何人都可以給我一個提示,我可以做什麼?非常感謝!
似乎_iditis的常見情況_...使用類而不是增量型ids一切都會更容易。然後,您可以通過循環內的索引來定位元素。 – elclanrs