我已经编写了一个小函数,它基本上将currentPosition值作为参数,如果该数字等于幻灯片的总数,并且如果它不是将值加1,不幸的是我的增量数似乎永远不会从1移动.任何人都可以告诉我哪里可能出错了?
var currentPosition = 0;
var slideWidth = 320;
var numberOfSlides = sliderSlides.children.length;
console.log('Number of slides = ', numberOfSlides);
//Remove scrollbar in js
sliderCtn.style.overflow = 'hidden';
//Set .slides width equal to total width of all slides
sliderSlides.style.width = slideWidth * numberOfSlides + 'px';
// Direction click handlers
sliderDirNext[det.clickEvent] = function(e) {
next(currentPosition);
sliderSlides.style.left = slideWidth*(-currentPosition) + 'px';
console.log('Slide width ', slideWidth);
stopEvent(e);
};
function next(currentPosition){
if( currentPosition === numberOfSlides ) {
return false;
} else {
currentPosition += 1;
console.log('Next current position = ', currentPosition);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
解.但是,如果您提供更多上下文,则最有可能更好一个:
window.currentPosition = 0;
function next(){
if( currentPosition === numberOfSlides ) {
return false;
} else {
currentPosition += 1;
console.log('Next current position = ', currentPosition);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
OP更新后:
只需删除next函数currentPosition参数就可以解决您的问题,因为其余的逻辑是合理的.
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |