Событие клика срабатывает только один раз

0

Я хочу, чтобы он срабатывал каждый раз, когда я нажимал

JS Fiddle

мой jquery

$(function(){

var list = $("ul li").toArray();
var elemlength = list.length;
var randomnum = Math.floor(Math.random()*elemlength);
var randomitem = list[randomnum];
$("#button").bind('click', function(e){
$(randomitem).addClass("lunch");
});

});

  • 0
    Событие запускается каждый раз, когда вы играете на скрипке, что вы хотите сделать?
  • 0
    Событие срабатывает каждый раз, но вы не видите ничего другого, потому что вы определили randomitem только один раз, и он остается тем, чем он является.
Теги:

2 ответа

1
Лучший ответ

Вам нужно найти случайный элемент в обработчике кликов

$(function () {

    $("#button").bind('click', function (e) {
        var list = $("ul li:not(.lunch)");
        $("ul li.lunch").removeClass('lunch')
        var elemlength = list.length;
        var randomnum = Math.floor(Math.random() * elemlength);
        list.eq(randomnum).addClass("lunch");
    });

});

Демо: скрипка

  • 0
    Приветствия. Что бы я сделал, чтобы он заменил предыдущее действие ... не продолжая добавлять вниз?
  • 0
    @AdamG см. Jsfiddle.net/arunpjohny/nkEdb/3
Показать ещё 1 комментарий
0

демо http://jsfiddle.net/JVq9S/

Начать с:

  • Объем вашего randomnum и randomitem был неправильным.

отдых должен помочь в необходимости :)

образец кода

$(function () {

    var list = $("ul li").toArray();
    var elemlength = list.length;


    $("#button").on('click', function (e) {
          var randomnum = Math.floor(Math.random() * elemlength);
            var randomitem = list[randomnum];

        $(randomitem).addClass("lunch");
    });

});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню