【问题标题】:Removing the "Previous" and "Next" based on the current slide根据当前幻灯片删除“上一张”和“下一张”
【发布时间】:2012-09-10 16:49:10
【问题描述】:

我正在尝试根据当前幻灯片删除/隐藏“上一个”或“下一个”按钮。

如果用户已经到了终点,他只能向后移动,如果他在起点,他只能向前。

我正在使用 AnythingSlider jQuery 插件。可以在这里找到:http://css-tricks.com/anythingslider-jquery-plugin/

JavaScript 代码可以在这里找到:https://github.com/CSS-Tricks/AnythingSlider/blob/master/js/jquery.anythingslider.js

悬停,我更愿意将参数传递给任何滑块函数。因为我相信它会让它更加用户友好(特别是对于那些将来会阅读这个问题的人)。

基本上我们正在讨论添加一个新选项。

提前谢谢你。

【问题讨论】:

    标签: javascript jquery slideshow


    【解决方案1】:

    让我们从逻辑思维开始。我们需要找到什么?单击下一个幻灯片按钮后,我们需要隐藏下一个箭头。或者如果 Prev Slide 按钮是第一张图片 - 我们需要隐藏 prev 按钮。所以.. 似乎一开始我们需要找到滚动页面操作。
    我查看了代码(天哪... 900 行),最后在 line 518 上找到了这样的代码:

    base.gotoPage = function(page, autoplay, callback, time) {
    

    调用此函数以将页面从一个滚动到另一个。所以我们“需要更深入”。在代码中我们可以找到导航更新功能。 第 569 行

    // Set visual
    if (o.buildNavigation){
        base.setNavigation(base.targetPage);
    }
    

    我们只需要添加隐藏箭头的新功能,只需检查它是最后一页还是第一页。让我们走吧(在 line 572 插入之后):

    if (o.showNullArrows){
        base.hideNullArrows(base.targetPage);
    }
    

    所以在这里我们绑定了动作。让我们向下滚动并粘贴完整的功能代码。例如,在第 692 行之后:

    base.hideNullArrows = function(page){
        if(page==0) 
            base.$back.hide();
        if(page==base.pages) 
            base.$forward.hide();
    };
    

    好的,现在我们在更改页面后有完整的绑定操作调用。但是..还有另一个滚动页面的功能! 第 660 行

    base.setCurrentPage = function(page, move) {
    

    嗯.. 我猜.. 现在你知道如何处理这个了。祝你好运:)

    【讨论】:

      【解决方案2】:

      它在文档中。你必须搜索一下它:)。

      这是一个 jsfiddle: http://jsfiddle.net/Mottie/ycUB6/85/

      $('#slider').anythingSlider({
      
          // if false, the slider will not wrap
          infiniteSlides: false,
      
          // If true & the slideshow is active, the  slideshow will stop on the last page. This also stops the rewind effect  when infiniteSlides is false.
          stopAtEnd: true
      
      });​
      

      【讨论】:

      • 我不寻找这么简单的方法。 “使用原力,卢克”! :)
      • 该死...我要为此开枪!抱歉让我这么愚蠢的分心。
      【解决方案3】:

      您应该尝试自己查看代码,然后在中间的某个位置创建一个 if 语句,并尝试找到某种可以告诉您在哪个图像上的键。

      【讨论】:

      • 这就是我现在正在做的事情。如果我自己解决这个问题,我会回答我自己的问题。我还没有辞职。但是,我很难做到这一点。这就是我将问题放在这里的原因。
      猜你喜欢
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多