[英]How to make multiple auto on change by number option item in my select drop-down every 2 seconds
我有一個選擇下拉列表有4個選項。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<select class="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$ (document).ready (function() {
var i;
for (i = 0; i < 4; i++) {
setTimeout (function() {
$ (".cars").prop ('selectedIndex', i); // make on change according to its number item
}, 2000);
}
});
</script>
</body>
</html>
也許這會有所幫助
function autoAjax(i) {
$(".cars").prop("selectedIndex",i);
setTimeout(function() {autoAjax((i+1)%4);},2000);
}
autoAjax(0);
我將您在set timeout函數上的內容放入一個不同的命名函數中,該函數將select選項的索引作為參數。
最后,它將創建一個超時並在兩秒后調用相同的函數,增加的i模數值4使它可以循環。
您可以將setTimeout
循環與遞歸和trigger
一起使用,如下所示。
let i = 0; function fntimeout() { setTimeout(function() { if (i == 4) // Reset Counter if you want infinite change i = 0; $(".cars").trigger('change'); $(".cars").prop('selectedIndex', i); fntimeout(); i++; }, 2000); } fntimeout();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select class="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.