出于一个重要的、未公开的原因,JavaScript 将一个按钮作为子按钮附加到每张幻灯片上。它的作用是滚动到下一张幻灯片:
<slide id="slide1" class="slide">
</slide>
<slide id="slide2" class="slide">
</slide>
<slide id="slide3" class="slide">
</slide>
<slide id="slide4" class="slide">
</slide>
<slide id="slide5" class="slide">
</slide>
<slide id="slide6" class="slide">
</slide>
<slide id="slide7" class="slide">
</slide>
这是 JavaScript:
<script type="text/javascript" language="javascript">
for(i=1;i<7;i++){
var li = document.createElement("li");
li.id=i;
li.className="dav";
li.innerHTML="^";
li.onclick=scrolls;
document.getElementById("slide"+i).appendChild(li);
}
function scrolls(){
var a=++this.id;
document.getElementById("slide"+a).scrollIntoView();
}
</script>
这是按钮第一次工作良好的问题,但在下一次单击时它会向前跳转两张幻灯片,例如:单击第一个按钮并向上滚动并再次单击后, View 将显示在第三张幻灯片上不再是第二个了。发生了什么事,我们将不胜感激,也请接受我这个讨厌的错误!最后不要使用 JQUERY
最佳答案
您已经增加了++this.id
。尝试 this.id+1
,因为我相当确定您不想修改 id
,只需获取它并添加一个即可.
还值得注意的是 this.id
不是您应该轻易使用的东西。设置时尝试类似 this.setAttribute("data-target",'slide'+(i+1));
,然后 document.getElementById(this.getAttribute("data- target")).scrollIntoView();
- 神奇! :D
关于javascript - 这个讨厌的按钮是双跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36431693/