2017-08-09 40 views
0

我在此處有「幻燈片放映」,您可以通過單擊進入下一張幻燈片。我想要有相同的按鈕,但每個圖像都有不同的文字。所以我試圖在「mySlides」變量之一設置爲block時改變「active」變量的innerHTML。 但它不會識別它..你能幫我嗎?某些元素的顯示樣式爲「block」時更改innerHTML

// JavaScript Document 
 

 
var active = document.getElementById("active"), 
 
\t x = document.getElementsByClassName("mySlides"); 
 

 
var slideIndex = 1; 
 
\t showDivs(slideIndex); 
 

 
function plusDivs(n) { 
 
\t showDivs(slideIndex += n); 
 
} 
 

 
function currentDiv(n) { 
 
\t showDivs(slideIndex = n); 
 
} 
 

 
function showDivs(n) { 
 
\t var i, 
 
\t \t dots = document.getElementsByClassName("demo"); 
 
\t \t 
 
\t 
 
\t if (n > x.length) {slideIndex = 1; 
 
\t } 
 
\t 
 
\t if (n < 1) {slideIndex = x.length; 
 
\t } 
 
\t 
 
\t for (i = 0; i < x.length; i++) { 
 
\t \t x[i].style.display = "none"; 
 
\t } 
 
\t 
 
\t for (i = 0; i < dots.length; i++) { 
 
\t dots[i].className = dots[i].className.replace(" w3-white", ""); 
 
\t } 
 
\t 
 
\t x[slideIndex-1].style.display = "block"; 
 
\t dots[slideIndex-1].className += " w3-white"; 
 
} 
 

 

 
function visible() { 
 
\t 
 
\t if (x[0].style.display = "block") { 
 
\t \t active.innerHTML = "test"; 
 
\t } 
 
\t 
 
}
<div class="w3-content w3-display-container"> 
 
<div id ="slider-wrapper"> 
 
    <img id="img1" class="centerscreen mySlides slidepos fade" src="x.jpg" alt="picture1"> 
 
    <img id="img2" class="centerscreen mySlides slidepos fade" src="xy.jpg" alt="picture2"> 
 
    <img id="img3" class="centerscreen mySlides slidepos fade" src="xyz.jpg" alt="picture3"></div> 
 
    <div class="w3-center w3-container w3-section w3-large w3-text-white centerscreen badgepos"> 
 
    <span class="w3-badge demo w3-border w3-transparent w3-hover-white" onclick="currentDiv(1)"></span> 
 
    <span class="w3-badge demo w3-border w3-transparent w3-hover-white" onclick="currentDiv(2)"></span> 
 
    <span class="w3-badge demo w3-border w3-transparent w3-hover-white" onclick="currentDiv(3)"></span> 
 
    </div> 
 
    \t <container id="buttons" class="centerscreen"> 
 
    <div id="navarrow-left" class="w3-left w3-hover-text-black btn" onclick="plusDivs(-1)">&#10094;</div> 
 
    <div id="navarrow-right" class="w3-right w3-hover-text-black btn" onclick="plusDivs(1)">&#10095;</div> 
 
\t </container> 
 
</div> 
 

 
<div id="active"> 
 
\t Centerbutton 
 
</div>

+1

你永遠不調用'可見()' – Barmar

+1

我看到了蝙蝠什麼是'如果(X [ 0] .style.display =「block」){'將設置顯示屏以阻止並始終爲真。你應該使用'==' – Jonathan

回答

0

請檢查下面

// JavaScript Document 
 

 

 
var pictureText = Array("Picture1", "Picture2", "Picture3", "Picture4"); 
 

 
var active = document.getElementById("active"), 
 
\t x = document.getElementsByClassName("mySlides"); 
 

 
var slideIndex = 1; 
 

 
showDivs(slideIndex); 
 

 
function plusDivs(n) { 
 
\t showDivs(slideIndex += n); 
 
} 
 

 
function currentDiv(n) { 
 
\t showDivs(slideIndex = n); 
 
} 
 

 
function showDivs(n) { 
 
\t var i, 
 
\t \t dots = document.getElementsByClassName("demo"); 
 
\t \t 
 
\t 
 
\t if (n > x.length) {slideIndex = 1; 
 
\t } 
 
\t 
 
\t if (n < 1) {slideIndex = x.length; 
 
\t } 
 
\t 
 
\t for (i = 0; i < x.length; i++) { 
 
\t \t x[i].style.display = "none"; 
 
\t } 
 
\t 
 
\t for (i = 0; i < dots.length; i++) { 
 
\t dots[i].className = dots[i].className.replace(" w3-white", ""); 
 
\t } 
 
\t 
 
\t x[slideIndex-1].style.display = "block"; 
 
\t dots[slideIndex-1].className += " w3-white"; 
 
    
 
    visible(slideIndex); 
 
} 
 

 

 
function visible(slideIndex) { 
 
    
 
    document.getElementById("img"+slideIndex).style.display = "none"; 
 
\t active.innerHTML = pictureText[slideIndex]; \t 
 
}
.navarrow-left{ 
 
    float: left; 
 
} 
 
.navarrow-right{ 
 
    float: right; 
 
}
<div class="w3-content w3-display-container"> 
 
<div id ="slider-wrapper"> 
 
    <img id="img1" class="centerscreen mySlides slidepos fade" src="x.jpg" alt="picture1"> 
 
    <img id="img2" class="centerscreen mySlides slidepos fade" src="xy.jpg" alt="picture2"> 
 
    <img id="img3" class="centerscreen mySlides slidepos fade" src="xyz.jpg" alt="picture3"></div> 
 
    <div class="w3-center w3-container w3-section w3-large w3-text-white centerscreen badgepos"> 
 
    <span class="w3-badge demo w3-border w3-transparent w3-hover-white" onclick="currentDiv(1)"></span> 
 
    <span class="w3-badge demo w3-border w3-transparent w3-hover-white" onclick="currentDiv(2)"></span> 
 
    <span class="w3-badge demo w3-border w3-transparent w3-hover-white" onclick="currentDiv(3)"></span> 
 
    </div> 
 
    \t <container id="buttons" class="centerscreen"> 
 
    <div id="navarrow-left" class="w3-left w3-hover-text-black btn" onclick="plusDivs(-1)">&#10094;</div> 
 
    <div id="navarrow-right" class="w3-right w3-hover-text-black btn" onclick="plusDivs(1)">&#10095;</div> 
 
\t </container> 
 
</div> 
 

 
<div id="active"></div>

+0

令人驚歎!正是我需要的。謝謝,我希望我的技能能夠很快變好。 –