编程语言
首页 > 编程语言> > javascript-SlidesJS隐藏仅一次

javascript-SlidesJS隐藏仅一次

作者:互联网

我制作了5个幻灯片,并为他们制作了一个隐藏秀jquery,我的问题是在我显示隐藏的幻灯片后,他们不再响应,而只是幻灯片最后一张图片的静态图像.

<div class="container">
        <div id="slides">
            <img src="img/room1.jpg" />
            <img src="img/bathroom1.jpg" />
            <img src="img/diningroom1.jpg" />
            <img src="img/balcony1.jpg" />
        </div>


        <div id="slides0">
            <img src="img/room1.jpg" />
            <img src="img/bathroom1.jpg" />
            <img src="img/diningroom1.jpg" />
            <img src="img/balcony1.jpg" />
        </div>


        <div id="slides1">
            <img src="img/room.jpg" />
            <img src="img/bathroom.jpg" />
            <img src="img/diningroom.jpg" />
            <img src="img/balcony.jpg" />
        </div>


        <div id="slides2">
            <img src="img/room1.jpg" />
            <img src="img/bathroom1.jpg" />
            <img src="img/diningroom1.jpg" />
            <img src="img/balcony1.jpg" />
        </div>


        <div id="slides3">
            <img src="img/room.jpg" />
            <img src="img/bathroom.jpg" />
            <img src="img/diningroom.jpg" />
            <img src="img/balcony.jpg" />
        </div>
    </div>

然后我的隐藏秀jquery是

// JavaScript Document
$(function() {
    $("#slides").show();
          $("#slides0,#slides1,#slides2,#slides3").hide();
    $("#intro").click(function(){
        $("#slides0,#slides1,#slides2,#slides3").hide();
    });

    $("#intro").click(function(){
        $("#slides").show();
    });
    $("#single").click(function(){
        $("#slides,#slides1,#slides2,#slides3").hide();
    });

    $("#single").click(function(){
        $("#slides0").show();
    });
    $("#double").click(function(){
        $("#slides,#slides0,#slides2,#slides3").hide();
    });

    $("#double").click(function(){
        $("#slides1").show();
    });
    $("#family").click(function(){
        $("#slides,#slides0,#slides1,#slides3").hide();
    });

    $("#family").click(function(){
        $("#slides2").show();
    });
    $("#deluxe").click(function(){
        $("#slides,#slides0,#slides1,#slides2").hide();
    });

    $("#deluxe").click(function(){
        $("#slides3").show();
    });

});

和我为多个幻灯片添加的SlideJs制作的滑块jquery

// JavaScript Document
$(function() {
  $('#slides').slidesjs({
    width: 940,
    height: 300,
    play: {
      active: true,
      auto: true,
      interval: 4000,
      swap: true
    }
  });
  $('#slides0').slidesjs({
    width: 940,
    height: 300,
    play: {
      active: true,
      auto: true,
      interval: 4000,
      swap: true
    }
  });

  $('#slides1').slidesjs({
    width: 940,
    height: 300,
    play: {
      active: true,
      auto: true,
      interval: 4000,
      swap: true
    }
  });

  $('#slides2').slidesjs({
    width: 940,
    height: 300,
    play: {
      active: true,
      auto: true,
      interval: 4000,
      swap: true
    }
  });

  $('#slides3').slidesjs({
    width: 940,
    height: 300,
    play: {
      active: true,
      auto: true,
      interval: 4000,
      swap: true
    }
  });
});

这是网页:Slider

解决方法:

您在调用Slide.Js之后隐藏/显示幻灯片,原因是它们不起作用.尝试将最后一个代码块包装到一个函数中,并在每次执行第二个代码块时调用它

首先,您不应该重复这些功能,做这样的事情

function active_slidesjs(slidesID){//slidesID is your elements
  slidesID.slidesjs({
    width: 940,
    height: 300,
    play: {
      active: true,
      auto: true,
      interval: 4000,
      swap: true
    }
  });
}

然后当您单击元素时,像这样调用函数

$("#single").click(function(){
    $("#slides,#slides1,#slides2,#slides3").hide();
    active_slidesjs($(this));
});

语法可能是错误的,但是这里面有想法

标签:slideshow,css,html,javascript,jquery
来源: https://codeday.me/bug/20191122/2059750.html