我对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()这适用于单击操作,但在加载页面时,它加载了所有列表项,而不是jus随机项。
任何建议都是非常感谢的!谢谢。
发布于 2014-11-07 15:46:23
不清楚为什么在单击处理程序下运行代码不适用于您,但请尝试如下:
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
https://stackoverflow.com/questions/26804868
复制相似问题