【问题标题】:Jquery slideshow not hiding images correctlyJquery幻灯片没有正确隐藏图像
【发布时间】:2015-04-03 15:01:40
【问题描述】:

我在 HTML5 翻书设计中有一个图像幻灯片。当我在空白网页上使用代码时,它工作正常。但在翻书内,幻灯片中的最后一张图像(有时与最后一张不同)仍显示在活动图像下方,而不是被隐藏。

每张图片只会显示一秒钟,然后每次都会显示最后一张图片。一旦幻灯片循环播放每个图像,它就可以正常工作。

关于为什么会发生这种情况的任何想法?

这是我为这本书编写的 HTML:

<div id="outside-content">
<div id="zoom-viewport">
<div id="flipbook">
<div class="hard" style="background-image:url(image.png)"></div>

<div class="hard" id="slideshow" style="margin:0px">
<div><img src="image.jpg"></div>
<div><img src here</div>
<div><img src here</div>
..... many more divs with images....
</div><!-- slideshow end-->

<div>Page</div><!-- title page -->
<div>Page</div>
... more pages ...
</div><!-- flipbook-->
</div><!--zoom-viewport-->
</div><!-- outside-content-->

<script type="text/javascript">
$("#flipbook").turn({
    width: 950,
    height: 615,
    autoCenter: true
});
</script>

这是幻灯片的 Jquery:

$("#slideshow > div:gt(0)").hide();

setInterval(function() { 
$('#slideshow > div:first')
.fadeOut(2000)
.next()
.fadeIn(2000)
.end()
.appendTo('#slideshow');
},  3000);

还有 CSS:

#slideshow { 
margin: 30px 10px; 
position: relative; 
width: 470px; 
height: 595px; 
padding: 0px; 
box-shadow: 0 0 20px rgba(0,0,0,0.4);
}

#slideshow > div { 
position: absolute; 
top: 0px; 
left: 0px; 
right: 0px; 
bottom: 0px;
}

我尝试将 gt(0) 中的数字更改为 -1 或 1,并尝试删除“>”,但没有任何变化。

【问题讨论】:

  • 你隐藏了所有的div然后重新开始$("#slideshow div").hide();
  • 这工作@Billy!我在 '$("#flipbook").turn({' 之前的
  • 很高兴它成功了 laustewa14。我会将其作为答案,以便您可以将问题标记为已回答。干杯

标签: jquery html css image slideshow


【解决方案1】:

在我将 slideshow javascript 包装在一个函数中之前,我也遇到了这个问题。

$(function() {
    $("#slideshow > div:gt(0)").hide();
    setInterval(function() { 
        $('#slideshow > div:first')
            .fadeOut(2000)
            .next()
            .fadeIn(2000)
            .end()
            .appendTo('#slideshow');
     },  3000);
});

然后它完美地工作了!

【讨论】:

    【解决方案2】:

    隐藏所有 div 然后重新开始

     $("#slideshow div").hide();
    

    【讨论】:

      【解决方案3】:

      您是否尝试过使用其他方式?如果没有,请试试这个。

      <div id = "slider">
      <ul class="slides">
          <li class="slide"><img src = "resources/banner1.jpg"/></li>
          <li class="slide"><img src = "resources/banner2.jpg"/></li>
          <li class="slide"><img src = "resources/banner3.jpg"/></li>
      </ul>
      </div>
      

      jQuery 代码:

      $(function() {
      var width = 693;
      var animationSpeed = 500;
      var pause = 3000;
      var $slider = $('#slider');
      var $slideContainer = $('.slides', $slider);
      var interval;
      var sliderUlWidth = slideCount * slideWidth;
      var clickcount = 0;
      $("#icon").addClass("pauseicon");
      
      $('#slider ul').css({ width: sliderUlWidth, marginLeft: - slideWidth });
      
      $('#slider ul li:last-child').prependTo('#slider ul');
      
      
      function startSlider() {
          interval = setInterval(function() {
              nextSlide();}, pause);
      }
      
      function nextSlide() {
          $('#slider ul li:first-child').appendTo('#slider ul');
          $('#slider ul').css('margin-left', 0);
          var value = parseInt($(".pager").text(), 10) + 1;
          if(value === 4){ value = 1;}
          $(".pager").text(value + "/3");
          $slideContainer.animate({'margin-left': '-693px'}, animationSpeed);
      
      }
      
      startSlider();});
      

      CSS:

      #slider {
            width: 693px;
            height: 434px;
            overflow: hidden; }
       #slider .slides {
              display: block;
              width: 2079px;
              height: 434px;
              margin: 0 auto;
              padding: 0; }
          #slider .slide {
              float: left;
              list-style-type: none;
              width: 693px;
              height: 434px; }
      

      通过正常调用 javascript 包含脚本。 &lt;script type = "text/javascript" src = "slider.js"&gt;&lt;/script&gt;,把脚本调用放在&lt;/body&gt;标签之前。

      【讨论】:

      • 您可以将它从 Flexslider 更改为 OP 的类等,以尝试帮助他而不是复制/粘贴
      • 上面的问题很难理解,因为没有现场演示。如果有我可以帮助他/她而不是复制粘贴。对不起。
      • @LykaSanPedroHementera 谢谢你,但我在实施它时遇到了麻烦。是否应该将其包含在带有“滑块”ID 的东西中以获取它?
      • 谢谢!我实际上得到了第一个评论,但我会保存这个以供将来参考:)
      猜你喜欢
      • 2012-08-04
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-14
      相关资源
      最近更新 更多