随机<li>加载,点击&amp; KEYDOWN </LI>

时间:2014-11-07 15:44:10

标签: jquery random

我对jquery一点都不太好所以我真的为我缺乏知识而道歉,但我试图理解。

下面有一些代码,当页面加载时会随机引入<li></li>。哪个好极了!

$(function(){
    $('#lome li').each(function(){
        $(this).hide();
    });
    var min = 0;
    var max = $('#lome li').length;
    var randomLi = Math.floor(Math.random() * (max - min)) + min;
    $('#lome li').eq(randomLi).show();
});

但我也希望这可以使用.click函数和.keydown。我该怎么做?我尝试过尝试上面的代码但是使用

$('.next').click(function()

这适用于点击的操作,但在页面加载时,它加载了所有列表项而不是随机的一个。

非常感谢任何建议!谢谢。

1 个答案:

答案 0 :(得分:1)

目前尚不清楚为什么在点击处理程序下运行代码对你不起作用,但试试这个:

function showRandomLi() {
    var $li = $('#lome li').hide(); // note: no loop required here
    var index = Math.floor(Math.random() * $li.length);
    $li.eq(index).show();
}

$(function() {
    showRandomLi(); // on load
    $('.next')
        .click(showRandomLi)
        .keydown(function(e) {
            e.which == 39 && showRandomLi();
        });  
});

Example fiddle