我自學了一點javascript,過去像2個小時,所以忍受着我。如何爲簡單的javascript幻燈片添加簡單的選擇欄?
我已經有一個簡單的代碼爲一個非常簡單的幻燈片爲一個網站。這是JavaScript(「滑動」類具有0的不透明度,「當前」級的具有1的不透明度,以便只顯示「當前」的一個):
<script>
var Slideshow = document.querySelectorAll('#slides .slide');
var Current = 0;
var Timer = setInterval(SlideMove,3000);
function SelectSlide(n) {
SlideMove(Current = n);
}
function SlideMove(n) {
Slideshow[Current].className = 'slide';
Current = (Current+1)%Slideshow.length;
Slideshow[Current].className = 'current slide';
}
</script>
使用CSS和HTML我製成5在幻燈片放映中排列起來的小方塊,我希望每個方塊都對應於我在幻燈片中顯示的5張照片中的一張,這樣當它被點擊時,幻燈片將移動到該圖片並從該點繼續自動幻燈片循環。
這是5個格的HTML(類爲每平方米是「選擇」):
<div id="selectors">
<span class="selector" onclick="SelectSlide(0)"></span>
<span class="selector" onclick="SelectSlide(1)"></span>
<span class="selector" onclick="SelectSlide(2)"></span>
<span class="selector" onclick="SelectSlide(3)"></span>
<span class="selector" onclick="SelectSlide(4)"></span>
</div>
對於「的onclick」的一部分,我認爲我告訴它來執行一個新的JavaScript功能我把所謂的「SelectSlide(N)」,這是這部分代碼:
function SelectSlide(n) {
SlideMove(Current = n);
}
據我在教程中所看到的,我認爲這會採取所需的幻燈片的數量(n) ,並使用'Current'等於'n'來執行SlideMove函數。所以,我認爲它只是簡單地將'當前'值設置爲正在選擇的值,並且從這一點開始簡單地開始幻燈片循環,但它根本不起作用。當我點擊其中一個選擇框時,它會顯示我想要選擇的圖像,但它不會隱藏前一個圖像,整個事情看起來像一團糟。然後新選擇的圖像將隨機消失。
我敢肯定,這與自動幻燈片更換循環的算法有關,而且我沒有隱藏前一張幻燈片,但我不知道該怎麼做。任何幫助,將不勝感激。
如果這個問題看起來太混亂,或者出於任何原因寫得不好,請隨時要求我澄清。
所以基本上你是說我應該只使用display:none和顯示:塊來顯示和隱藏,而不是使用的透明度?如果是這樣,我嘗試了這一點,我仍然有完全相同的問題。它會顯示我選擇的圖片,但是它會在它停留在背景中之前出現的圖片,並且最終圖片會消失,並開始出現毛刺。 – davidib17
在上面我給你演示了點擊'run code snippet'你可以看到它工作 – jafarbtech
而你的代碼看起來不錯。我感激你 – jafarbtech