2013-05-25 3 views
1

Пожалуйста, кто-нибудь может помочь. Я пытаюсь создать основную кнопку в javascript, которая при щелчке выбирает случайное значение из моего массива и отображает его на экране, каждый раз, когда нажимается кнопка, он должен выбрать новый элемент из массива. Я знаю, как написать массивjavascript кнопка, чтобы выбрать случайный элемент из массива

var myarray = new Array("item1", "item2", "item3"); 

Я просто не знаю, как сделать часть кнопки. Любая помощь будет большой. Я знаю, что это может быть проще сделать в jQuery, но я действительно хочу, чтобы моя голова вокруг javascript, прежде чем я займусь jQuery (пожалуйста, будьте осторожны, я новичок в этом lol)

ответ

2

Вы можете вызвать функцию нажатием кнопки, чтобы напечатать значение как этот

<input type="button" id="btnSearch" value="Search" onclick="GetValue();" /> 
<p id="message" ></p> 

JS

function GetValue() 
{ 
    var myarray= new Array("item1","item2","item3"); 
    var random = myarray[Math.floor(Math.random() * myarray.length)]; 
    //alert(random); 
    document.getElementById("message").innerHTML=random; 
} 

JS Fiddle Demo

+0

Спасибо всем, кто внес свой ответ. Они очень помогли мне понять, что происходит с этим. Еще раз спасибо! – user2419017

0

Использовать случайную функцию javascript для создания случайного число между верхним и нижним пределом вашего массива. Затем используйте

myarray[Math.round(Math.random() * (myarray.length - 1))] 

для доступа к случайному значению из массива.

Вы можете использовать ссылку this, чтобы увидеть горячее, чтобы создать случайное число между минимальным и максимальным числом. (для вашего случая min всегда будет 0).

+0

спасибо, как бы я написал код кнопки для запуска функции, это что-то вроде user2419017

+0

да это сработало – Guanxi

0

Попробуйте один: HTML:

<input type="button" click="randomize()" value="Click me" /> 

JS:

function randomize(){ 
    var myarray = new Array("item1", "item2", "item3"); 
    var randomId = Math.floor((Math.random()*myarray.length)); 
    var randomItem = myarray[randomid]; 

    alert(randomItem); 
} 
0

http://jsfiddle.net/McKxp/

JS:

var arr = ["foo","bar","baz"]; 

function getItem(){ 
    document.getElementById("something").innerHTML = arr[Math.floor(Math.random() * arr.length)]; 
} 

HTML

<div id="something"></div> 
<input type="button" onclick="getItem()" value="Click me"/> 
0

Вот пример:

http://jsfiddle.net/kUgHg/2/

Шаги:

  1. Создайте элемент кнопки и дать ему ID:

    <button id="button1">Show random item</button> 
    
  2. Получить ссылку на кнопку в сценарии:

    document.getElementById("button1"); 
    
  3. Вычислить случайный индекс в вашем массиве на основе длины массива:

    Math.floor(Math.random() * array.length) 
    
  4. Добавление обработчика click событий к кнопке, которая вызывает случайное вычисление на шаге 3, и показывает ему, как вы хотите:

    button.onclick = function() { … } 
    

Все в один:

var button = document.getElementById("button1"); 
var myarray = ["a", "b", "c", "d"]; 

button.onclick = function() { 
    alert(myarray[Math.floor(Math.random() * myarray.length)]); 
}; 
Смежные вопросы