Javascript 下一个函数第一次不工作
这就是我面临的问题所在 让我简单地解释一下这个问题。 html代码包含许多幻灯片,当按下箭头键时,幻灯片将前后移动,并且在鼠标上滚动 问题在于,第一次按下箭头键时,其内部的下一个功能不起作用 但是,当我使用scroll时,下一个函数开始执行,然后单击左箭头,它就会工作 但这不是第一次。有什么问题吗。?我怎样才能解决它 下面是下一个函数:Javascript 下一个函数第一次不工作,javascript,html,function,Javascript,Html,Function,这就是我面临的问题所在 让我简单地解释一下这个问题。 html代码包含许多幻灯片,当按下箭头键时,幻灯片将前后移动,并且在鼠标上滚动 问题在于,第一次按下箭头键时,其内部的下一个功能不起作用 但是,当我使用scroll时,下一个函数开始执行,然后单击左箭头,它就会工作 但这不是第一次。有什么问题吗。?我怎样才能解决它 下面是下一个函数: next: function() { if (!this._slides[this.current-1].buildNext()) {
next: function() {
if (!this._slides[this.current-1].buildNext()) {
this.current = Math.min(this.current + 1, this._slides.length);
this._update();
}
下面是调用它的代码:handleWheel: function(e) {
var delta = 0;
if (e.wheelDelta) {
delta = e.wheelDelta/120;
if (isOpera) {
delta = -delta;
}
} else if (e.detail) {
delta = -e.detail/3;
}
if (delta > 0 ) {
this.prev();
return;
}
if (delta < 0 ) {
this.next();
return;
}
},
handleKeys: function(e) {
if (/^(input|textarea)$/i.test(e.target.nodeName) ||
e.target.isContentEditable) {
return;
}
switch (e.keyCode) {
//case 37: // left arrow
//this.prev(); break;
case 39: // right arrow
case 32: // space
this.next(); break;
case 50: // 2
this.showNotes(); break;
case 51: // 3
this.switch3D(); break;
}
}
handleWheel:功能(e){
var-delta=0;
如果(e.车轮三角洲){
δ=e.车轮δ/120;
if(等参线){
delta=-delta;
}
}否则,如果(如详细信息){
delta=-e.detail/3;
}
如果(增量>0){
这是prev();
返回;
}
if(δ<0){
这个。下一个();
返回;
}
},
手钥匙:功能(e){
if(/^(输入| textarea)$/i.test(e.target.nodeName)||
e、 target.isContentEditable){
返回;
}
开关(如钥匙代码){
//案例37://左箭头
//this.prev();break;
案例39://右箭头
案例32://空间
这个。下一个();休息;
案例50://2
showNotes();break;
案例51://3
这个.switch3D();break;
}
}
这是代码,其中if条件是问题所在
next: function() {
if (!this._slides[this.current-1].buildNext()) {
this.current = Math.min(this.current + 1, this._slides.length);
this._update();
}
}
这是经过编辑的代码,运行良好
next: function() {
this.current = Math.min(this.current + 1, this._slides.length);
this._update();
}
既然他已经在问题中提供了现场样本,为什么会有这么多的反对票呢?@Mithun谢谢。我自己解决了。