2013-02-26 18 views
0

我有一個圖像滑塊,通過單擊下一個按鈕和上一個按鈕來更改圖片。因此,如果用戶點擊下一個圖片,則會彈出該序列中的下一張圖片,如果用戶點擊之前的圖片,則彈出上一個圖片。下一個功能工作得很好,但我似乎無法使以前的功能工作。如何瀏覽Javascript中的圖片

<script type="text/javascript"> 


var image1 = new Image(); 
var image2 = new Image(); 
var image3 = new Image(); 
var image4 = new Image(); 
var image5 = new Image(); 
var image6 = new Image(); 
var image7 = new Image(); 
var image8 = new Image(); 
var image9 = new Image(); 
var image10 = new Image(); 
var image11 = new Image(); 

image1.src="jokes.png"; 
image2.src="facts.png"; 
image3.src="riddles.png"; 
image4.src="html.png"; 
image5.src="xml.png"; 


</script> 

<img alt="previous" id="prev" src="prev_ctrl.png" width=60 height=60 onClick="slideprev()">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="jokes.png" name="slide" width="200" height="200">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img id="next" src="next_ctrl.png" alt="next" width=60 height=60 onClick="slidenext()"> 
<script type="text/javascript"> 
var step = 1; 

function slidenext() { 
    document.images.slide.src = eval("image" + step + ".src"); 
    if (step < 5){ 
    step++; 
    }else{ 
    step = 1; 
    } 
} 

function slideprev() { 
    document.images.slide.src = eval("image" + step + ".src"); 
    if (step >= 5){ 
    step--; 
    }else{ 
    step = 5; 
    } 
} 


</script> 
+3

這不是'eval'的工作。製作一組圖片/ – Blender 2013-02-26 06:08:59

+0

我擁有可變圖像... – 2013-02-26 06:09:39

+0

您是否嘗試過無評估版 – sasi 2013-02-26 06:15:40

回答

0
function slideprev() { 
    document.images.slide.src = "image"+step+".png"; 
     if (step <= 5 && step > 1){ 
     step--; 
     }else{ 
      step = 5; 
     } 
    } 

就上述更換slideprev功能,那麼將工作做好。

+0

@ user2029262 The picture沒有出現 – 2013-02-26 20:30:04

+0

function slideprev(){ document.images.slide.src = eval(「image」+ step +「。src」); if(step <= 5 && step> 1) - ; } else { step = 5; } } Thank you this code worked! – 2013-02-26 20:57:13

1

您的代碼不起作用,因爲slidePrev將永遠也不能低於5。我已經修改了你的代碼。

var step = 0; 
var images = [ "jokes.png", "facts.png", "riddles.png", "html.png", "xml.png"]; 
var stepLimit = images.length - 1; 

function slideNext() { 
    step = Math.min(step + 1, stepLimit); 
    document.images.slide.src = images[step] 
} 

function slidePrev() { 
    step = Math.max(step - 1, 0); 
    document.images.slide.src = images[step] 
} 
+0

它對我而言似乎不適用 – 2013-02-26 06:23:35

+0

之前出現過一個小錯誤。但是你看到了什麼錯誤? – Aishwar 2013-02-26 06:27:33

+0

圖片不顯示@ Aishwar – 2013-02-26 06:34:59

0
var imgsrc="image" + step + ".src"; 
document.images.slide.src=imgscr; 
+0

@ sasi沒有工作。 – 2013-02-26 06:18:44

0
document.images.slide.src = window["image" + step].src; 

這是你的代碼的回調,但我會建議@Aishwar的解決方案

+0

沒有,沒有工作。 :( – 2013-02-26 06:28:14

+0

不會得到這樣的元素,這是更好的方法:document.getElementById('prev')。src = ...;或document.getElementsByName('slide')[0] .src – karaxuna 2013-02-26 06:43:14