javascript - 添加事件监听器单击时按下时不更改变量

标签 javascript

我正在我的网站上构建幻灯片事件,我想知道如何更改变量i

javascipt

var list = document.getElementById('list1');
list.addEventListener("click", press());

var slideshow = document.getElementById('slideshow');
var bilder = ['bild1.png','bild2.png','bild3.png'];
var totalpics = mypics.length;
var i = 0;
var a= 0

function press(){
i=0;
}

function loop() {
    if(i > (totalpics - 1)){
    i = 0;  
    }
slideshow.innerHTML = '<img src="bilder/'+bilder[i]+'">';
i++;
loopTimer = setTimeout ('loop()',3000);
}
loop();

html

<div id="slideshow">

</div>
<li id="list1"></li>
<li id="list2"></li>
<li id="list3"></li>

为什么当我按 li id="list1" 时,i 没有变为 0?

最佳答案

您需要函数本身而不是其调用的结果

list.addEventListener("click", press);

顺便说一句

loopTimer = setTimeout (loop, 3000);

关于javascript - 添加事件监听器单击时按下时不更改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24283498/

相关文章:

javascript - ajaxComplete 未被调用

javascript - 使用 JavaScript 在 Html 中动态添加单选和下拉列表并返回数据

javascript - 在 d3 force layout 中自动生成链接

javascript - 从 HTML 到 ASPX 的 AJAX 调用?

javascript - 在 tomcat 服务器上启用 gzip 压缩会使 js 的缩小变得多余?

javascript - 在javascript中减去不透明度

javascript - 在 webpack 和 es6 中使用 LESS

javascript - 如何防止选择在正文中滚动

javascript - 从 html 调用时未定义导入的 Javascript 函数

javascript - 在 JavaScript 中使用quadprog 进行投资组合优化约束错误