使用jQuery使用Next Previous按钮显示隐藏div?

例如,我有10

,我想在下一个按钮上显示每个

在上一个按钮点击时显示前一个

。 如何使用jQuery做到这一点?

 
1
2
3
4
5
6
7

这是一个非常简单的HTML示例。

使用像这样的简单jQuery代码:

 $(document).ready(function(){ $(".divs div").each(function(e) { if (e != 0) $(this).hide(); }); $("#next").click(function(){ if ($(".divs div:visible").next().length != 0) $(".divs div:visible").next().show().prev().hide(); else { $(".divs div:visible").hide(); $(".divs div:first").show(); } return false; }); $("#prev").click(function(){ if ($(".divs div:visible").prev().length != 0) $(".divs div:visible").prev().show().next().hide(); else { $(".divs div:visible").hide(); $(".divs div:last").show(); } return false; }); }); 

有关进一步说明:第一个块将隐藏除第一个之外的每个div(e是jQuery的每个函数中的计数器)。

另外两个块处理按钮上的单击。 我们正在寻找可见的div,然后点击我们接下来显示(参见jquery的next()函数或前面的div(jquery的prev()函数)。

如果没有下一个div(在下一个按钮单击时),我们将隐藏可见的div并显示第一个div。

在线示例: http : //jsfiddle.net/hsJbu/

你可以这样做:

HTML:

 
div 1
div 2
div 3
div 4

JS:

 $(document).ready(function() { var divs = $('.mydivs>div'); var now = 0; // currently shown div divs.hide().first().show(); // hide all divs except first $("button[name=next]").click(function() { divs.eq(now).hide(); now = (now + 1 < divs.length) ? now + 1 : 0; divs.eq(now).show(); // show next }); $("button[name=prev]").click(function() { divs.eq(now).hide(); now = (now > 0) ? now - 1 : divs.length - 1; divs.eq(now).show(); // show previous }); }); 

的jsfiddle

如果你想自己做,请尝试以下方法。 将所有div设置为display:none,除了first之外。 也可以在下面的代码中根据你拥有的div数改变maxdiv值(如果数字可以改变,则在jquery中找到它)。

 $(document).ready(function(){ var tracker = 1; var maxdivs = 4; $("#next").click(function(){ var divclass = ".cls" + tracker; $(divclass).css("display","none"); tracker = tracker + 1; if(tracker > maxdivs) tracker = 1; divclass = ".cls" + tracker; $(divclass).css("display","block"); }); $("#prev").click(function(){ var divclass = ".cls" + tracker; $(divclass).css("display","none"); tracker = tracker - 1; if(tracker < 1) tracker = maxdivs; divclass = ".cls" + tracker; $(divclass).css("display","block"); }); }); 

它听起来像你想要的旋转木马

以下是一些示例: http : //www.tripwiremagazine.com/2012/12/jquery-carousel.html

您可以使用下一个和上一个按钮在div中滑动,旧的滑动(或任何其他效果)

旋转木马不依赖于图像,它可以是Divs内容。

祝你好运,祝你有个美好的一天

编辑:Bootstraps自己的旋转木马: http : //twitter.github.io/bootstrap/javascript.html#carousel