【问题标题】:jQuery - Making my own slider?jQuery - 制作我自己的滑块?
【发布时间】:2014-08-01 10:16:09
【问题描述】:

我还在学习 jQuery,我知道我所问的可能是多余的,因为已经有数百个滑块,它们将比我的最终结果好得多。

但是,我正在尝试边做边学,并为自己设定了制作滑块的任务,所以您能给我的任何帮助都会很棒!

这是我目前所拥有的: http://jsfiddle.net/eLgBG/

$(document).ready(function() {

    $('.thumb').click(function(event){
        var idAttr = $(this).attr('rel');


        $('.thumb').removeClass('active');  
        $(this).addClass('active');


        $('.banner').hide("slide", {direction: "left"}, 500);
        $('.banner-' + idAttr).show("slide", {direction: "right"}, 500);


        if($('.thumb').hasClass('active')){
            return false;
        }


    })
}); 

我想实现的主要目标:

  • 当您单击缩略图返回上一张幻灯片时,滑块会向后而不是向前移动。
  • 第二张幻灯片没有立即进入,由于某种原因它首先显示为白色?其余的不这样做,这很奇怪
  • 当您单击一个已经处于活动状态的选项卡时,我不希望它执行任何操作。 我已尝试修复此问题,但无法使其正常工作

        if($('.thumb').hasClass('active')){
            return false;
        }
    

任何帮助都会很棒,谢谢! :)

【问题讨论】:

  • 只是对未来的建议。在您的演示中使用更柔和的颜色。实在看不下去,因为刺眼的颜色刺痛了我的眼睛。
  • 俗称“轮播”

标签: javascript jquery html css


【解决方案1】:

这将修复您的第一个和第三个项目符号:

http://jsfiddle.net/H9tJc/1/

基本上,诀窍是存储当前幻灯片:

$(document).ready(function() {
        var currentRel = -1;

        $('.thumb').click(function(event){
            var idAttr = $(this).attr('rel');

            $('.thumb').removeClass('active');  
            $(this).addClass('active');

            if(parseInt(idAttr)>currentRel) {
                $('.banner').hide("slide", {direction: "left"}, 500);
                $('.banner-' + idAttr).show("slide", {direction: "right"}, 500);
            }
            else if(parseInt(idAttr)<currentRel) {
                $('.banner').hide("slide", {direction: "right"}, 500);
                $('.banner-' + idAttr).show("slide", {direction: "left"}, 500);
            }

            currentRel = parseInt(idAttr);

        })
    }); 

【讨论】:

  • 感谢您的帮助!我花了一分钟才明白你做了什么,但我明白了!如果您不介意我问,这如何阻止活动标签仍然滑动?
  • 因为 (currentRel == parseInt(idAttr) ) 不采取任何行动:)
  • 谢谢 :) 虽然第一个选项卡在加载时仍然处于活动状态,但它仍然会在第一次点击时滚动,即使这已经显示了。你知道有什么方法可以防止吗?谢谢:)
  • 是的;只需更改“var currentRel = -1;”对于“var currentRel = 1;”
猜你喜欢
  • 2012-01-16
  • 1970-01-01
  • 2012-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-12
  • 1970-01-01
相关资源
最近更新 更多