Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置滑块的上限,使“下一步”和“上一步”按钮不显示';是否不将内容滚动到空白处?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何设置滑块的上限,使“下一步”和“上一步”按钮不显示';是否不将内容滚动到空白处?

Javascript 如何设置滑块的上限,使“下一步”和“上一步”按钮不显示';是否不将内容滚动到空白处?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我创建了一个示例来演示我的问题。如果你继续点击上一个和下一个,滑动条会一直滑动,甚至滑过内容 $('#next').click(function() { $('#sliderWrapper').animate({ marginLeft: "-=200px" }, "fast"); }); $('#prev').click(function() { $('#sliderWrapper').animate({

我创建了一个示例来演示我的问题。如果你继续点击上一个和下一个,滑动条会一直滑动,甚至滑过内容

$('#next').click(function() {
          $('#sliderWrapper').animate({
            marginLeft: "-=200px"
          }, "fast");
       });
$('#prev').click(function() {
      $('#sliderWrapper').animate({
        marginLeft: "+=200px"
      }, "fast");
   });
我想我需要一个if语句,比如

if (current.width+totalScrolled < slider.width)
{
      $('#sliderWrapper').animate({
        marginLeft: "+=200px"
      }, "fast");
}
else
{
     [soemthing like set.scrollRight = max]
}
if(当前.width+totalScrolled
再次提醒你要跟踪你的位置,这样你就不会向后滚动太远


即使是一个让你回到起点的解决方案,也是解决这个问题的好方法。我只是在逻辑方面提供帮助。

以下是所需的if语句:

$('#next').click(function() {
    if($('#sliderWrapper').css("margin-left").replace("px", "")*-1 < $("#imageSlider").width()){
        $('#sliderWrapper').animate({
            marginLeft: "-=200px"
        }, "fast");
    }
});
$('#prev').click(function() {
    if($('#sliderWrapper').css("margin-left").replace("px", "") < 0){
        $('#sliderWrapper').animate({
            marginLeft: "+=200px"
        }, "fast");
    }
});
$(“#下一步”)。单击(函数(){
if($('#sliderRapper').css(“左边距”).replace(“px”,”)*-1<$(“#图像滑块”).width(){
$(“#SliderRapper”)。设置动画({
边缘左侧:“-=200px”
}“快”);
}
});
$('#prev')。单击(函数(){
if($('#sliderRapper').css(“左边距”).replace(“px”,”)<0){
$(“#SliderRapper”)。设置动画({
边缘左侧:“+=200px”
}“快”);
}
});

我还对css做了一些改进。至少,我认为这些都是改进,可以忽略它们。我们可以找到答案。将滑块的宽度设置为anyting,我只是将其设置为400px进行测试。

嘿,感谢您的响应。不幸的是,它几乎不能完全正常工作!它只工作到某一点,然后将不允许我再滚动。我已经实施了您的解决方案。非常感谢您!比...更您的解决方案是更干净的代码,并且工作完美。我以前遇到过一个问题,我的固定位置“上一个”和“下一个”按钮会与另一个div重叠,这已经通过您布置它的方式修复了。我真的很感激这段时间。没问题,很有趣!我喜欢滑块。我希望你能在这个滑块上给我更多的帮助。我试图在点击按钮时让项目进入视图-。我是从你的帖子里(顺手)得到这个主意的。