em
jQuery :random filter

jQuery :random filter

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>Segundo
    <li>Terceiro
</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.

Comentários

  1. Bem legal…. adorei

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

    Fuiii

    por Ramon Responder
  3. @Ramon,

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

    por Pedro Rogério Responder
  4. Cai no primeiro sim senhor! Só não cai quando se usa math.random

    por Jottae — Responder
  5. E se o random for com flash, como seria?

    por Felipe — Responder

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>