<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>
4楼的 var count = 100; // 总数 是什么意思? 不是已经用这个代替了嘛 var Min = 30; var Max = 50;只需要随机Min~Max里面的就行了
这个做了下改进,不会出现重复的 <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>
我的意思就把总序号换成 var Min = 30; var Max = 50; 只要在这个范围里面随机就可以了
<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>
不是已经用这个代替了嘛
var Min = 30;
var Max = 50;只需要随机Min~Max里面的就行了
<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>
我的意思就把总序号换成
var Min = 30;
var Max = 50; 只要在这个范围里面随机就可以了
取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
就可以了
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>