随机加载不同区域的相应div

时间:2013-06-04 20:24:17

标签: javascript jquery random

我有一个网页,要求我在两个不同的区域加载相应的div(意味着它们共享相同的信息)。这类似于同一个广告系列的多个横幅广告在整个网页上加载的方式,当您点击刷新时,它就是一个不同的广告(当您的页面充满丰田广告时,刷新时您会看到不同的Adobe实例)

现在,我正在成功加载三个随机div中的一个。我把它们放在无序列表中,因为我的div中有div。

<!-- HTML -->
<ul id="reps">
    <li>
        <div class="contact1">
        ...
        </div>
    </li>
    <li>
        <div class="contact2">
        ...
        </div>
    </li>
    <li>
        <div class="contact3">
        ...
        </div>
    </li>
</ul>

和这里的脚本,正在形成我:

    // random rep
    this.randomtip = function(){
        var length = $("#reps li").length;
        var ran = Math.floor(Math.random()*length) + 1;
        $("#reps li:nth-child(" + ran + ")").show();
    };

    $(document).ready(function(){    
        $('#reps li').hide();
        randomtip();
    });

现在我需要复制它,让第二组div对应上面的那个div。也许我需要使用PHP?不确定...谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

假设您在ID为“reps2”的页面上有另一个div列表,您可以通过逗号分隔不同的选择器来隐藏/显示您想要的所有元素:

$('#reps li,#reps2 li').hide();

...

$("#reps li:nth-child(" + ran + "),#reps2 li:nth-child(" + ran + ")").show();

或者,您可以使用.add()

$('#reps li').add('#reps2 li').hide();

答案 1 :(得分:1)

你也可以这样做,有点递归:

http://jsfiddle.net/sanpopo/Hq8KC/

randomtip = function (randNum, el) {
    var length = el.length, ran;    
    if (randNum === "") {
    ran = Math.floor(Math.random() * length);  
    } else {
        ran = randNum;
    }    
    $(el.eq(ran)).show();     
    return ran;    
};