有人知道我如何在站点之间的不同间隔之间切换吗? 这是我的代码,但我只有一个间隔为每个站点。 我想在每个站点之间有不同的间隔。 希望有人能帮助我:)
index.php
<!DOCTYPE html>
<html>
<head>
<title>Seitenwechsel</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="anzeige"></div>
</body>
</html>
script.js
var anzeige;
var inhalt;
var position = 0;
var interval = 20000;
$(document).ready(function () {
anzeige = $("#anzeige");
inhalt = new Array("site.php", "site1.php", "site2.php", "site3.php", "site4.php");
loadNext();
var refresh = setInterval(function () {
loadNext();
},
interval
);
});
function loadNext() {
anzeige.load(inhalt[position]);
position++;
if (position >= inhalt.length) {
position = 0;
}
}
您可以从setInterval
更改为setTimeout
,从而基于所讨论的“下一个”站点创建新的超时。
大致如下:
var anzeige;
var inhalt = ["site.php", "site1.php", "site2.php", "site3.php", "site4.php"];
var interval = [20000, 40000, 3000, 20000, 60000];// num elements match inhalt array
var position = 0;
var doNext;
$(document).ready(function () {
anzeige = $("#anzeige");
loadNext();
});
function loadNext() {
anzeige.load( inhalt[position] );
position++;
if (position >= inhalt.length) {
position = 0;
}
doNext = window.setTimeout(function(){ loadNext(); }, interval[position] );
}
您可以将吸入
和interval
组合到一个javascript对象中,如果这样做更容易使其合理化的话。 但是,在上面,我只是将相同数量的数组项匹配到每个数组项,所以position
只是引用了正确的数组项。
编辑:如果您希望interval元素与当前视图页面相关(如中所示,site1.php应该在40秒内可见,而不是在显示site2.php之前的3秒内可见),则将donext=window.settimeout
移动到代码中position++
行上方。 只是取决于你如何定义这些数字。 到达下一个站点的时间,或当前站点的时间;)
您可以在此示例页面中看到上述操作:http://bytejunkies.com/test/4266.php
(检查source以查看我为这些设置的时间间隔,也可以查看network选项卡)