Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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 简单的Jquery滑块,不想使用插件_Javascript_Jquery_Jslider - Fatal编程技术网

Javascript 简单的Jquery滑块,不想使用插件

Javascript 简单的Jquery滑块,不想使用插件,javascript,jquery,jslider,Javascript,Jquery,Jslider,我有下面的代码,到目前为止我已经实现了类似的东西,但是我想在此基础上添加下一个PREV功能,为此我需要建议 <div id="slider"> <div class="wrap"> <div class="panel">Panel1</div> <div class="panel">Panel2</div> <div class="panel">Panel3</div> </div>

我有下面的代码,到目前为止我已经实现了类似的东西,但是我想在此基础上添加下一个PREV功能,为此我需要建议

<div id="slider">
<div class="wrap"> 
<div class="panel">Panel1</div> 
<div class="panel">Panel2</div> 
<div class="panel">Panel3</div>
</div>

<div class="previous">This need Implementation</div>
<div class="next">This need Implementation</div>

</div>

<div class="nav">

<ul>
<li> panel1</li>
<li> panel2</li>
<li> panel3</li>
<ul>

</div>


$(document).ready(function () {

$(".wrap .panel:not(.active)").fadeOut();
$(".wrap .panel:first(.active)").fadeIn();

$(".nav ul li").click(function (event) {

$(this).addClass('current').siblings().removeClass('current');

$(".wrap .panel").stop(true, true).fadeOut().eq($(this).index()).fadeIn();

});
});

您需要存储显示的当前窗格的索引

var currentIndex = 0;// store current pane index displayed
var ePanes = $('#slider .panel');// store panes collection
function showPane(index){// generic showPane
    // hide current pane
    ePanes.eq(currentIndex).stop(true, true).fadeOut();
    // set current index : check in panes collection length
    currentIndex = index;
    if(currentIndex < 0) currentIndex = ePanes.length-1;
    else if(currentIndex >= ePanes.length) currentIndex = 0;
    // display pane
    ePanes.eq(currentIndex).stop(true, true).fadeIn();
    // menu selection
    $('.nav li').removeClass('current').eq(currentIndex).addClass('current');
}
// bind ul links
$('.nav li').click(function(ev){    showPane($(this).index());});
// bind previous & next links
$('.previous').click(function(){    showPane(currentIndex-1);});
$('.next').click(function(){    showPane(currentIndex+1);});
// apply start pane
showPane(0);

太好了,德米兹,快点,这很有效。只有一个问题,当你点击下一步,在第三张幻灯片之后,它隐藏了所有内容,我如何才能转到第三张幻灯片之后的第一张。prev也是如此。而不是:currentIndex=Math.max0,Math.minePanes.length-1,index;编写如下内容:ifcurrentIndex<0 currentIndex=ePanes.length-1否则ifcurrentIndex>=ePanes.length currentIndex=0对不起,请编辑上述代码。我不知道这是怎么回事。