简体   繁体   中英

Select random <li> element

I'm trying to make a shuffle button for my HTML 5 player. My player is set up like this to go the next track:

    $('.nextbutton').on("click", function(){
    var next = $('li.playing').next();
        if (!next.length) next = $('#stuff ul li').first();
        next.addClass('playing').siblings().removeClass('playing');
        var title = $('a#tunes img', next).attr("title");
            $("a.songtitle span").text(title);
        var artist = $('a#tunes img', next).attr("artist");
            $("a.songartist span").text(artist);
        audio.load($('a#tunes', next).attr('data-src'));
        audio.play();
    });

This code works to go to the next song but how can I change this to make it so it selects a random <li> element instead of the .next(); <li> ? Thanks for your time and consideration. Hope you can help me!

var next = Math.floor(Math.random() * jQuery('#stuff ul li').length + 1));
var nextLi = jQuery('#stuff ul li').get(next);

It'll get random number between 0 and count of li s and then get this li .

you can use a random number generator like

var rand =  Math.floor(Math.random() * jQuery('#stuff ul li').length + 1);

or

var rand =  Math.ceil(Math.random() *( jQuery('#stuff ul li').length + 1));

for getting a random song number in the list , and then get the corresponding item like this:

var next = $('#stuff ul li').get(rand);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM