javascript - 简单的 jQuery 幻灯片在幻灯片之间转换

标签 javascript jquery html css

我使用 jQuery 制作了一个幻灯片,一切都按预期工作......除了过渡。截至目前,幻灯片通过我的 div 并添加/删除 img,直到幻灯片结束(此时,幻灯片“消失”)。这一切都很好。但是,我希望过渡效果不那么刺耳。这是我目前所拥有的。

HTML:

<div class="slideShow" id="slideshow">
<div class="showImg">
    <img src="http://paulmarique.be/dropbox/img/01.jpg" alt="" />
</div>
<div>
    <img src="http://paulmarique.be/dropbox/img/02.jpg" alt="" />
</div>
<div>
    <img src="http://paulmarique.be/dropbox/img/03.jpg" alt="" />
</div>

CSS:

 body {
  background-color: #e7e7e7;
  text-align: center;
}

.slideShow > div:not(.showImg) {
  display: none;
}

.showImg {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
}
.slideShow {
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}

jQuery:

   $(function() {
     setTimeout(playSlideShow, 3000);

     function playSlideShow() {
       $('.showImg').removeClass('showImg').next('div').addClass('showImg');
   setTimeout(playSlideShow, 3000);
  }
 });

代码笔:http://codepen.io/anon/pen/vGYKrO

它根本不转换。 我不明白我做错了什么,但我相信有人会很快指出我的一个愚蠢错误。任何帮助将不胜感激。

*注意:我应该补充一点,我不想为此使用任何插件。

最佳答案

两件事:

  1. CSS display 属性不能转换,要么是,要么不是。但是,您可以将 visibility 属性与 opacity(例如)一起进行过渡,以获得不错的过渡效果。提示:visibility 的转换声明将有 0ms 的持续时间和不同的延迟,具体取决于元素的状态。
  2. 您正在更改 .showImg 元素的 CSS 属性(通过更改元素的类),但您将 transition 声明添加到 .slideshow 元素。您必须将 transition 属性应用于 CSS 已更改的元素。

关于javascript - 简单的 jQuery 幻灯片在幻灯片之间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35664162/

相关文章:

javascript - 如何更改 span 的文本并显示 div?

javascript - 使用类显示和隐藏 div

javascript - 滚动时屏幕跳转

javascript - 对( javascript + html )代码进行少量操作

javascript - 客户端存储数据的最佳方式

javascript - 为什么我的 JavaScript 代码打印未定义并抛出异常?

javascript - 在 JavaScript 单元测试中重用代码的最佳方法

javascript - 如何在不移动列表中其他元素的情况下使文本出现在 div 下?

javascript - 如何在面向对象的HTML5 JS音频播放器中显示可点击的播放列表?

html - ID和类之间的区别