当我点击按钮时,我想在多个文本之间切换。我已经创建了一个解决方案,但我会看到一个更好的解决方案,在最终点击事件功能结束时,我希望它从头开始继续。
<h2>Shows 3 Country onclick</h2>
<button>Change</button>
select week_no, customer_id
from (
select week_no, customer_id,
row_number() over (partition by customer_id order by week_no) as rn
from customerinfo
where purchaseyn = 1
) t
where rn = 2;
答案 0 :(得分:1)
定义新的事件侦听器时,您不会删除旧的事件侦听器。所以最终所有的听众都会跑,而且每次点击都会增加更多。
只需使用一个使用全局变量的事件侦听器来保存当前数组索引。
var qarray = ['canada', 'india', 'america'];
var qindex = 0;
var btn = document.querySelector('button');
btn.style.background = 'green';
btn.style.fontSize = '25px';
btn.style.color = 'white';
btn.addEventListener('click', function quotes() {
var textselect = document.querySelector('h2');
textselect.textContent = qarray[qindex];
qindex = (qindex + 1) % qarray.length;
})
<h2>Shows 3 Country onclick</h2>
<button>Change</button>
模数运算符用于在到达数组末尾时将索引环绕到0
。
答案 1 :(得分:0)
var qarray = ['canada', 'india', 'america']
var btn = document.querySelector('button');
btn.style.background = 'green';
btn.style.fontSize = '25px';
btn.style.color = 'white';
var countClick =0;
btn.addEventListener('click', function quotes() {
var textselect = document.querySelector('h2');
if(qarray.length > countClick) {
textselect.textContent = qarray[countClick];
countClick++;
} else {
countClick =0;
textselect.textContent = qarray[countClick];
}
})
&#13;
<h2>Shows 3 Country onclick</h2>
<button>Change</button>
&#13;