Javascript jQuery滑块故障
嗨,我正在创建一个简单的jQuery幻灯片。幻灯片的要求很简单,只需幻灯片不断向左翻转即可。在线显示的大部分教程都非常高级和新奇。但后来我遇到了一个几乎就是我想要的Javascript jQuery滑块故障,javascript,jquery,css,Javascript,Jquery,Css,嗨,我正在创建一个简单的jQuery幻灯片。幻灯片的要求很简单,只需幻灯片不断向左翻转即可。在线显示的大部分教程都非常高级和新奇。但后来我遇到了一个几乎就是我想要的 但问题是,当图像滑到最后时,它会向后滑到我的第一张图像。是否有任何方法可以更改代码,以便在将图像滑到末尾时,幻灯片将继续返回到第一个图像,而不是通过向后滑动。请将您的javascript更改为: 更新:您希望滑块到达滑块后滑回原始位置。这是通过功能slideLeft在到达最后一张幻灯片时实现的 $(document).ready(
但问题是,当图像滑到最后时,它会向后滑到我的第一张图像。是否有任何方法可以更改代码,以便在将图像滑到末尾时,幻灯片将继续返回到第一个图像,而不是通过向后滑动。请将您的javascript更改为: 更新:您希望滑块到达滑块后滑回原始位置。这是通过功能
slideLeft
在到达最后一张幻灯片时实现的
$(document).ready(function() {
var currentPosition = 0;
var slideWidth = 500;
var slides = $('.slide');
var numberOfSlides = slides.length;
var slideShowInterval;
var speed = 3000;
var lastSlideReached = false;
slides.wrapAll('<div id="slidesHolder"></div>');
slides.css({ 'float' : 'left' });
$('#slidesHolder').css('width', slideWidth * numberOfSlides);
slideShowInterval = setInterval(changePosition, speed);
function changePosition() {
if( ! lastSlideReached ) {
if(currentPosition == (numberOfSlides-1)) {
lastSlideReached = true;
clearInterval( slideShowInterval );
slideLeft();
slideShowInterval = setInterval(changePosition, speed);
} else {
currentPosition++;
}
} else {
if( currentPosition == 0 ) {
lastSlideReached = false;
} else {
currentPosition--;
}
}
moveSlide();
}
function moveSlide() {
$('#slidesHolder').animate(
{'marginLeft' : slideWidth*(-currentPosition)}
);
}
function slideLeft() {
$('#slidesHolder').animate({'marginLeft' : 0});
currentPosition = 0;
lastSlideReached = false;
}
});
$(文档).ready(函数(){
var currentPosition=0;
var slideWidth=500;
变量幻灯片=$('.slide');
var numberOfSlides=slides.length;
var幻灯片放映间隔;
var速度=3000;
var lastSlideRached=false;
幻灯片。wrapAll(“”);
css({'float':'left'});
$(“#幻灯片文件夹”).css('width',slideWidth*numberOfSlides);
slideShowInterval=设置间隔(改变位置、速度);
函数changePosition(){
如果(!LastSlideRached){
如果(当前位置==(幻灯片编号-1)){
LastSlideRached=true;
clearInterval(幻灯片放映间隔);
slideLeft();
slideShowInterval=设置间隔(改变位置、速度);
}否则{
currentPosition++;
}
}否则{
如果(currentPosition==0){
LastSlideRached=false;
}否则{
当前位置--;
}
}
moveSlide();
}
函数moveSlide(){
$(“#幻灯片放映器”)。设置动画(
{'marginLeft':slideWidth*(-currentPosition)}
);
}
函数slideLeft(){
$(“#幻灯片播放器”)。设置动画({'marginLeft':0});
currentPosition=0;
LastSlideRached=false;
}
});
我添加了一个变量var lassliderached=false
并对函数进行了一些更改changePosition
希望有帮助。请将您的javascript更改为: 更新:您希望滑块到达滑块后滑回原始位置。这是通过功能
slideLeft
在到达最后一张幻灯片时实现的
$(document).ready(function() {
var currentPosition = 0;
var slideWidth = 500;
var slides = $('.slide');
var numberOfSlides = slides.length;
var slideShowInterval;
var speed = 3000;
var lastSlideReached = false;
slides.wrapAll('<div id="slidesHolder"></div>');
slides.css({ 'float' : 'left' });
$('#slidesHolder').css('width', slideWidth * numberOfSlides);
slideShowInterval = setInterval(changePosition, speed);
function changePosition() {
if( ! lastSlideReached ) {
if(currentPosition == (numberOfSlides-1)) {
lastSlideReached = true;
clearInterval( slideShowInterval );
slideLeft();
slideShowInterval = setInterval(changePosition, speed);
} else {
currentPosition++;
}
} else {
if( currentPosition == 0 ) {
lastSlideReached = false;
} else {
currentPosition--;
}
}
moveSlide();
}
function moveSlide() {
$('#slidesHolder').animate(
{'marginLeft' : slideWidth*(-currentPosition)}
);
}
function slideLeft() {
$('#slidesHolder').animate({'marginLeft' : 0});
currentPosition = 0;
lastSlideReached = false;
}
});
$(文档).ready(函数(){
var currentPosition=0;
var slideWidth=500;
变量幻灯片=$('.slide');
var numberOfSlides=slides.length;
var幻灯片放映间隔;
var速度=3000;
var lastSlideRached=false;
幻灯片。wrapAll(“”);
css({'float':'left'});
$(“#幻灯片文件夹”).css('width',slideWidth*numberOfSlides);
slideShowInterval=设置间隔(改变位置、速度);
函数changePosition(){
如果(!LastSlideRached){
如果(当前位置==(幻灯片编号-1)){
LastSlideRached=true;
clearInterval(幻灯片放映间隔);
slideLeft();
slideShowInterval=设置间隔(改变位置、速度);
}否则{
currentPosition++;
}
}否则{
如果(currentPosition==0){
LastSlideRached=false;
}否则{
当前位置--;
}
}
moveSlide();
}
函数moveSlide(){
$(“#幻灯片放映器”)。设置动画(
{'marginLeft':slideWidth*(-currentPosition)}
);
}
函数slideLeft(){
$(“#幻灯片播放器”)。设置动画({'marginLeft':0});
currentPosition=0;
LastSlideRached=false;
}
});
我添加了一个变量var lassliderached=false
并对函数进行了一些更改changePosition
希望能有所帮助。如果您需要避免最后一张幻灯片回到第一张幻灯片,然后重新开始,我建议对Pushpesh的答案稍作修改:
$(document).ready(function() {
var currentPosition = 0;
var slideWidth = 500;
var slides = $('.slide');
var numberOfSlides = slides.length;
var slideShowInterval;
var speed = 900;
var lastSlideReached = false;
slides.wrapAll('<div id="slidesHolder"></div>');
slides.css({ 'float' : 'left' });
$('#slidesHolder').css('width', slideWidth * numberOfSlides);
slideShowInterval = setInterval(changePosition, speed);
function changePosition() {
if( ! lastSlideReached ) {
if(currentPosition == (numberOfSlides-1)) {
lastSlideReached = true;
} else {
currentPosition++;
}
moveSlide();
} else {
resetSlide()
}
}
function moveSlide() {
$('#slidesHolder').animate({'marginLeft' : slideWidth*(-currentPosition)});
}
function resetSlide(){
currentPosition = 0;
$('#slidesHolder').css('marginLeft', currentPosition );
lastSlideReached = false;
}
$(文档).ready(函数(){
var currentPosition=0;
var slideWidth=500;
变量幻灯片=$('.slide');
var numberOfSlides=slides.length;
var幻灯片放映间隔;
无功转速=900;
var lastSlideRached=false;
幻灯片。wrapAll(“”);
css({'float':'left'});
$(“#幻灯片文件夹”).css('width',slideWidth*numberOfSlides);
slideShowInterval=设置间隔(改变位置、速度);
函数changePosition(){
如果(!LastSlideRached){
如果(当前位置==(幻灯片编号-1)){
LastSlideRached=true;
}否则{
currentPosition++;
}
moveSlide();
}否则{
重置幻灯片()
}
}
函数moveSlide(){
$('#SlideShalder')。动画({'marginLeft':slideWidth*(-currentPosition)});
}
函数resetSlide(){
currentPosition=0;
$('#slideshalder').css('marginLeft',currentPosition);
LastSlideRached=false;
}
}));
干杯如果您需要避免最后一张幻灯片回到第一张幻灯片,然后重新开始,我建议您对Pushpesh的答案稍作修改:
$(document).ready(function() {
var currentPosition = 0;
var slideWidth = 500;
var slides = $('.slide');
var numberOfSlides = slides.length;
var slideShowInterval;
var speed = 900;
var lastSlideReached = false;
slides.wrapAll('<div id="slidesHolder"></div>');
slides.css({ 'float' : 'left' });
$('#slidesHolder').css('width', slideWidth * numberOfSlides);
slideShowInterval = setInterval(changePosition, speed);
function changePosition() {
if( ! lastSlideReached ) {
if(currentPosition == (numberOfSlides-1)) {
lastSlideReached = true;
} else {
currentPosition++;
}
moveSlide();
} else {
resetSlide()
}
}
function moveSlide() {
$('#slidesHolder').animate({'marginLeft' : slideWidth*(-currentPosition)});
}
function resetSlide(){
currentPosition = 0;
$('#slidesHolder').css('marginLeft', currentPosition );
lastSlideReached = false;
}
$(文档).ready(函数(){
var currentPosition=0;
var slideWidth=500;
变量幻灯片=$('.slide');
var numberOfSlides=slides.length;
var幻灯片放映间隔;
无功转速=900;
var lastSlideRached=false;
幻灯片。wrapAll(“”);
css({'float':'left'});
$(“#幻灯片文件夹”).css('width',slideWidth*numberOfSlides);
slideShowInterval=设置间隔(改变位置、速度);
函数changePosition(){
如果(!LastSlideRached){
如果(当前位置==(幻灯片编号-1)){
LastSlideRached=true;
}否则{
currentPosition++;
}
moveSlide();
}否则{
重置幻灯片()
}
}
函数moveSlide(){
$('#幻灯片播放器')。设置动画({'margi'