onclick在各种文本之间切换

时间:2018-01-15 07:30:36

标签: javascript html addeventlistener

当我点击按钮时,我想在多个文本之间切换。我已经创建了一个解决方案,但我会看到一个更好的解决方案,在最终点击事件功能结束时,我希望它从头开始继续。

<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;

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)

&#13;
&#13;
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;
&#13;
&#13;