汗!!要求同时显示N个Iframe……
你也真会想
又是随机还想同时显示

解决方案 »

  1.   


    <script type="text/javascript">
    var count = 100; // 总数
    var Min = 30;
    var Max = 50;
    var array = new Array(count);
    var html = [];
    var showCount = 3;for (var i = 0; i < count; i++) array[i] = i + 1; // 顺序排列的数组
    var str = '<iframe id="page{0}" name="page{0}" src="http://www.xsafe.cn/article/{0}.htm"></iframe>';for (var i = 0; i < showCount; i++) {
        var j = Math.floor(Math.random() * (Max - Min + 1)) + Min;
        var t = array[j];
        array[j] = array[count - i - 1];
        array[count - i - 1] = t; // 将抽取到的元素放到最后
        html.push(str.replace(/\{0\}/g, t));
    }document.write(html.join(""));
    </script>
      

  2.   

    4楼的 var count = 100; // 总数 是什么意思?
    不是已经用这个代替了嘛
    var Min = 30;
    var Max = 50;只需要随机Min~Max里面的就行了
      

  3.   

    这个做了下改进,不会出现重复的
    <script type="text/javascript">
    var count = 100; // 总数
    var Min = 30;
    var Max = 50;
    var array = new Array(count);
    var html = [];
    var showCount = 3;for (var i = 0; i < count; i++) array[i] = i + 1; // 顺序排列的数组
    var str = '<iframe id="page{0}" name="page{0}" src="http://www.xsafe.cn/article/{0}.htm"></iframe>';
    var str2 = "|";for (var i = 0; i < showCount; i++) {
    do{
    var j = parseInt(Math.random() * (Max - Min + 1)) + Min;
    }while(str2.indexOf("|" + j + "|") > 0);
    str2 += j + "|";
        html.push(str.replace(/\{0\}/g, array[j]));
    }document.write(html.join(""));
    </script>
      

  4.   


    我的意思就把总序号换成
    var Min = 30; 
    var Max = 50; 只要在这个范围里面随机就可以了
      

  5.   

    (1)
    取Min 到Max 的随机数
    var j = Math.floor(Math.random() * (Max - Min + 1)) + Min;
    这是对的
    (2)
    你这样 
    <div>
    <iframe>...</iframe>
    <iframe>...</iframe><iframe>...</iframe>
    .
    .
    ..
    ..<iframe>...</iframe>
    </div>你在parent 设置个变量 
    iframe 不也有onload 方法吗,你此时把div设置display:none
    再在parent 判断变量是否加载完毕.
    如果判断你在把div display:block
    就可以了
      

  6.   

    再简化一下<script type="text/javascript">
    var Min = 30;
    var Max = 50;
    var html = [];
    var showCount = 3;var str = '<iframe id="page{0}" name="page{0}" src="http://www.xsafe.cn/article/{0}.htm"></iframe>';
    var str2 = "|";for (var i = 0; i < showCount; i++) {
    do{
    var j = parseInt(Math.random() * (Max - Min + 1)) + Min;
    }while(str2.indexOf("|" + j + "|") > 0);
    str2 += j + "|";
        html.push(str.replace(/\{0\}/g, j));
    }document.write(html.join(""));
    </script>