Javascript 这个讨厌的按钮是双重跳跃

Javascript 这个讨厌的按钮是双重跳跃,javascript,html,Javascript,Html,javascript将按钮作为子按钮附加到每张幻灯片上,原因很重要,无法公开。它的作用是滚动到下一张幻灯片: <slide id="slide1" class="slide"> </slide> <slide id="slide2" class="slide"> </slide> <slide id="slide3" class="slide"> </slide> <slide id="slide4" class="s

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>


对于(i=1;i您增加了
++this.id
。请尝试
this.id+1
,因为我非常确定您不想修改
id
,只需获取它并添加一个即可

还值得注意的是,
this.id
不是你应该随便玩弄的东西。在设置它时,可以尝试类似
this.setAttribute(“数据目标”,“幻灯片”+(i+1));
的方法,然后
document.getElementById(this.getAttribute(“数据目标”)).scrollIntoView();
-magic!:D