jQuery :random filter

Postado por: Pedro Rogério em

Você já pensou na possibilidade de obter itens randômicos com jQuery? Já tentou fazer isso e não conseguiu? Eu encontrei no site de Waldek Mastykarz uma maneira muito simples de se fazer isso. Não vou explicar aqui o código pois o autor já fez isso, mas aqui vai a solução:

jQuery.jQueryRandom = 0;
jQuery.extend(jQuery.expr[":"],
{
    random: function(a, i, m, r) {
        if (i == 0) {
            jQuery.jQueryRandom = Math.floor(Math.random() * r.length);
        };
        return i == jQuery.jQueryRandom;
    }
});

Um exemplo de utilização do filtro :random que agora foi criado seria da seguinte forma:

<ul>
    <li>Primeiro</li>
    <li>Segundo</li>
    <li>Terceiro</li>
</ul>
<script type="text/javascript">
    $(document).ready(function() {
        alert($("li:random").text());
    });
</script>

Simples, vejam esse exemplo para um melhor entendimento. A cada refresh na página, ele me traz um item diferente.

Posts Relacionados

Confira também outros artigos interessantes postados aqui no blog.

Gostou desse post?

Assine o nosso Feed RSS, siga-nos no Twitter, ou simplesmente nos recomende a seus amigos!

Sobre Pedro Rogério

Pedro Rogério é desenvolvedor web por paixão, não saberia fazer melhor outra coisa. Além de escrever para o Pinceladas da Web também escreve para o CSS no Lanche, blog voltado ao desenvolvimento front-end.

Central Server

5 Responses to “jQuery :random filter”

  1. Ramon disse:

    Muito interessante,
    porém se eu não estou enganado, nunca vai cair no primeiro item, neh?

    Fuiii

  2. @Ramon,

    Sim, é só testar o exemplo que você verá isso acontecer. Abraços.

  3. Jottae disse:

    Cai no primeiro sim senhor! Só não cai quando se usa math.random

  4. Felipe disse:

    E se o random for com flash, como seria?

Leave a Reply