我的代码在数组中打开一个随机网站,但要停止访问同一个网站,有一种方法可以在访问后删除它。继承人我的尝试。
<button onclick="randomLink()";>Click here to go somewhere else!</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
var randomLink = function () {
var links = new Array();
links[1] = "http://google.com";
links[2]="http://bing.com";
var max = (links.length)
var randomNumber = Math.floor(Math.random()*max);
var link = links[randomNumber];
links.splice(randomNumber,1);
$('iframe').attr('src', link);
}
</script>
<iframe src="" name="iframe_a" ></iframe>
答案 0 :(得分:1)
将links
移到函数之外:
var links = [
"http://google.com",
"http://bing.com"
];
var randomLink = function() {
var max = links.length;
var randomNumber = Math.floor(Math.random() * max);
var link = links[randomNumber];
links.splice(randomNumber, 1);
$('iframe').attr('src', link);
};
答案 1 :(得分:0)
每次调用该函数时,所有url都会添加到数组中。尝试在函数外部定义数组。 删除一些东西叫做splice!
最好的, 塞比
答案 2 :(得分:0)
这是真正的代码,你有;在&#34;&#34;。
之后
<button onclick="randomLink()">Click here to go somewhere else!</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
var randomLink = function () {
var links = new Array();
links[1] = "http://google.com";
links[2]="http://bing.com";
var max = (links.length)
var randomNumber = Math.floor(Math.random()*max);
var link = links[randomNumber];
links.splice(randomNumber,1);
$('iframe').attr('src', link);
}
</script>
<iframe src="" name="iframe_a" ></iframe>
&#13;
答案 3 :(得分:0)
你使用splice
来做,例如我们有arr:
arr = [1,2,3,4,5,6]
要删除保留arr[2]
值的3
,我们可以这样做:
arr.splice(2,1);
arr
将成为[1,2,4,5,6]
3是删除值的上一个索引,1是该索引后要删除的值。
您可以在MDN中详细了解splice
。