我button在每張卡片上都有一個, 。按鈕,當我第一次點擊時,第二次應該給出一個文本 ,第三次應該給出一個特定的文本。點擊的順序應該是0, 1, 2, 3, 0, 1, 2, 3 ...
我有一個空陣列,因為按鈕值未知。像下面這樣,
var btn = [];
function btnVal(ele) {
btn[ele.id] = !btn[ele.id] ? 1 : btn[ele.id] === 3 ? 0 : btn[ele.id] 1;
switch(btn[ele.id])
{
case 0:
return {};
case 1 :
return {};
case 2 :
return {};
case 3:
return {};
default:
}
}
<button id = "button1"></button>
三元
btn[ele.id] = !btn[ele.id] ? 1 : btn[ele.id] === 3 ? 0 : btn[ele.id] 1;
它沒有用!
問題,當我點擊按鈕時,它總是case3取值。所有其他情況都被忽略了。
我需要執行每一個案例。
有人可以幫忙嗎?
非常感謝。
uj5u.com熱心網友回復:
不確定我是否正確理解你。但是如何將當前按鈕計數器存盤在每個按鈕的資料集中并從陣列中選擇合適的文本
<button class="btn" data-counter="0">Some text</button>
<button class="btn" data-counter="0">Some text</button>
<button class="btn" data-counter="0">Some text</button>
<script>
var texts = ["Some text", "Text1", "Text2", "Text3"];
document.querySelectorAll(".btn").forEach((button) => {
button.addEventListener("click", function (){
this.dataset.counter = this.dataset.counter 1;
if(this.dataset.counter % 4 == 0){
this.dataset.counter = 0;
}
this.innerText = texts[this.dataset.counter];
});
});
</script>
uj5u.com熱心網友回復:
您可以將分配移到最后并為 添加一個新案例undefined:
var btn = [];
function btnVal(ele) {
console.log(btn[ele.id]);
switch (btn[ele.id]) {
case 0:
case undefined:
console.log('case 0');
break;
case 1:
console.log('case 1');
break;
case 2:
console.log('case 2');
break;
case 3:
console.log('case 3');
break;
default:
}
btn[ele.id] = !btn[ele.id] ? 1 : btn[ele.id] === 3 ? 0 : btn[ele.id] 1;
return {};
}
document.getElementById('button1').addEventListener('click', btnVal);
<button id="button1">Click</button>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/329253.html
標籤:javascript html
