jQuery 幻灯片,转到上一张图片

jQuery slideshow, go to previous image

试图使 .next() 以相反的方式工作,因此它转到幻灯片放映中的上一张图像而不是下一张,但是,当我按下按钮时它变为空白(没有显示)。

<div id="slider">
    <img src="slide1.png" class="sliderImage" />
    <img src="slide2.png" class="sliderImage" />
    <img src="slide3.png" class="sliderImage" />
</div>

<a href="javascript:void(0)"><div id="relative"><i class="fa fa-chevron-left" id="sliderArrowLeft"></i></div></a>
<a href="javascript:void(0)"><div id="relative"><i class="fa fa-chevron-right" id="sliderArrowRight"></i></div></a>

脚本:

$('#slider img:gt(0)').hide();
        setInterval(function(){
          $('#slider :first-child').hide()
             .next('img').delay(1).fadeIn()
             .end().appendTo('#slider');},
          30000);

          $("#sliderArrowRight").click(function() {
              $('#slider :first-child').hide()
             .next('img').delay(1).fadeIn()
             .end().appendTo('#slider');
          });

          $("#sliderArrowLeft").click(function() {
              $('#slider :first-child').hide()
             .prev('img').delay(1).fadeIn()
             .end().appendTo('#slider');
          });

感谢任何帮助。

试试这个#sliderarrowleft

           $('#slider img:gt(0)').hide();
            setInterval(function () {
                $('#slider :first-child').hide()
                        .next('img').delay(1).fadeIn()
                        .end().appendTo('#slider');
                },30000);

            $("#sliderArrowRight").click(function () {
                $('#slider :last-child').hide();
                $('#slider :first-child').hide()
                        .next('img').delay(1).fadeIn()
                        .end().appendTo('#slider');
            });

            $("#sliderArrowLeft").click(function () {
                $('#slider :first-child').hide();
                $('#slider :last-child').hide()
                        .prev('img').delay(1).fadeIn()
                        .end().prependTo('#slider');
            });

您的问题是 prev('img') 对于第一个子滑块不存在。所以像这样改变你的功能:

$("#sliderArrowLeft").click(function() {
    $('#slider :first-child').hide();
    $('#slider :last-child').delay(1).fadeIn().prependTo('#slider');
});