2016-03-28 16 views
-1

Hala javascript öğreniyorum, herhangi bir yardım çok takdir edilecektir! Bu sonuçlar sadece iyi kaydederBir fonksiyonun sonucunu onclick işlevini kullanarak göstermeye çalışıyorum. (Javascript)

function queue(arr, item) { 
    arr.push(item); 
    var removed = arr.shift(); 
    return removed; 
} 

Test Kurulumu

var testArr = ["roller coaster", "horror tower", "big train", "space maniac"]; 
console.log(queue(testArr)); 

: İşte benim kodudur. Tüm sonuçları bile

konsoluna uygulayabilirim.

<div id="queue1" class="gray1"> 
    <h3>Available Fast Pass Experience<h3> 
    <input id="button" type="button" value="Click to see your next fast pass     available attraction" style="height:100px; width:380px;font-size:325px";  onclick= "queue(testArr.value = 'onclick= "queue(testArr.value = 'Your next fast  pass experience will be + queue(testArr)')";> 
<div> 
<input id="button2" type="button" value="Available Attraction" style="height:100px; width:380px;font-size:325px;"/> 

Yukarıda kodu kullandım ve ben hataları var bu hata var:

Yakalanmayan TypeError : arr.push olan html sayfasındaki bir düğme sonucu görüntülemek için çalışıyor Bir işlev değil

+0

listenize 'çağırmak queue' bir argüman kaçırıyoruz - Eğer' item' parametresinde koymak unuttum 'console.log (sıra (testArr)) '. –

cevap

0

Örneğinizde Javascript'iniz yanlış. Tüm tarayıcı okur çift tırnak arasındaki kısmıdır.

onclick="queue(testArr.value = 'onclick= " 

Bunun geri kalanı DOM yorumlayıcısı söz konusu olduğunda önemsizdir.

queue(testArr.value = 'Your next fast pass experience will be + queue(testArr)') 

Sorunuzda ne yapmaya çalıştığınızı belirtmelisiniz. Dizide konumlarını tek tek göstermeye çalışıyorsanız, dizinin içinden kolayca geçebilir ve geçerli dizininizi bir değişkende saklayabilirsiniz.

HTML:

<div id="queue1" class="gray1"> 
    <h3>Available Fast Pass Experience<h3> 
    <button id="button" type="button" onclick="window.clickButton();">Click to see your next fast pass available attraction</button> 
<div> 
<br> 
<input id="output" placeholder="Available Attraction" /> 

JavaScript:

var testArr = ["roller coaster", "horror tower", "big train", "space maniac"]; 
var currentAttractionIdx = 0; 

window.clickButton = function() { 
    var output = document.getElementById('output'); 
    output.value = testArr[currentAttractionIdx++]; 
    if (currentAttractionIdx >= testArr.length) currentAttractionIdx = 0; 
} 

https://jsfiddle.net/yk3qug4L/1/

+0

Bu çok yardımcı oldu. Ancak tüm dizi dizinlerini görüntüledikten sonra tanımsız hale gelir. Düğmeye basmaya devam edebilmek ve diziyi tekrar tekrar tekrar tutmak istiyorum. –

+0

Ardından, "currentAttractionIdx" öğesini dizinin uzunluğundan daha uzun olduğu zaman 0 olarak ayarlayın. – user2867288

İlgili konular