title>幻灯片特效/图片轮播演示title>link rel="stylesheet" href="style.css">head>body>div _图片轮播 ppt 博客">
当前位置:   article > 正文

如何实现幻灯片效果/图片轮播_图片轮播 ppt 博客

图片轮播 ppt 博客

幻灯片效果/图片轮播通常用来循环显示某些元素,常使用在网站与app首页。例如本站首页所使用的图片轮播:

创建幻灯片特效

第一步:添加HTML

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>幻灯片特效/图片轮播演示</title>
  6. <link rel="stylesheet" href="style.css">
  7. </head>
  8. <body>
  9. <div class="slideshow-container">
  10. <div class="mySlides fade">
  11. <div class="numbertext">1 / 3</div>
  12. <img src="img1.jpg" style="width:100%">
  13. <div class="text">幻灯片1</div>
  14. </div>
  15. <div class="mySlides fade">
  16. <div class="numbertext">2 / 3</div>
  17. <img src="img2.jpg" style="width:100%">
  18. <div class="text">幻灯片2</div>
  19. </div>
  20. <div class="mySlides fade">
  21. <div class="numbertext">3 / 3</div>
  22. <img src="img3.jpg" style="width:100%">
  23. <div class="text">幻灯片3</div>
  24. </div>
  25. <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
  26. <a class="next" onclick="plusSlides(1)">&#10095;</a>
  27. </div>
  28. <br>
  29. <div style="text-align:center">
  30. <span class="dot" onclick="currentSlide(1)"></span>
  31. <span class="dot" onclick="currentSlide(2)"></span>
  32. <span class="dot" onclick="currentSlide(3)"></span>
  33. </div>
  34. <!-- js文件最后加载,提高页面呈现速度 -->
  35. <script src="carousel.js"></script>
  36. </body>
  37. </html>

第二步:添加CSS(style.css)

  1. @charset "utf-8";
  2. * {box-sizing:border-box}
  3. /* 幻灯片容器 */
  4. .slideshow-container {
  5. max-width: 1000px;
  6. position: relative;
  7. margin: auto;
  8. }
  9. .mySlides {
  10. display: none;
  11. }
  12. /* 向前向后按钮 */
  13. .prev, .next {
  14. cursor: pointer;
  15. position: absolute;
  16. top: 50%;
  17. width: auto;
  18. margin-top: -22px;
  19. padding: 16px;
  20. color: white;
  21. font-weight: bold;
  22. font-size: 18px;
  23. transition: 0.6s ease;
  24. border-radius: 0 3px 3px 0;
  25. }
  26. /* 向后按钮置于右边 */
  27. .next {
  28. right: 0;
  29. border-radius: 3px 0 0 3px;
  30. }
  31. /* 鼠标滑过按钮,添加黑色背景 */
  32. .prev:hover, .next:hover {
  33. background-color: rgba(0,0,0,0.8);
  34. }
  35. /* 图片说明文字 */
  36. .text {
  37. color: #f2f2f2;
  38. font-size: 15px;
  39. padding: 8px 12px;
  40. position: absolute;
  41. bottom: 8px;
  42. width: 100%;
  43. text-align: center;
  44. }
  45. /* 数字 (1/3 等) */
  46. .numbertext {
  47. color: #f2f2f2;
  48. font-size: 12px;
  49. padding: 8px 12px;
  50. position: absolute;
  51. top: 0;
  52. }
  53. /* 下方指示器 */
  54. .dot {
  55. cursor:pointer;
  56. height: 13px;
  57. width: 13px;
  58. margin: 0 2px;
  59. background-color: #bbb;
  60. border-radius: 50%;
  61. display: inline-block;
  62. transition: background-color 0.6s ease;
  63. }
  64. .active, .dot:hover {
  65. background-color: #717171;
  66. }
  67. /* 渐隐动画 */
  68. .fade {
  69. -webkit-animation-name: fade;
  70. -webkit-animation-duration: 1.5s;
  71. animation-name: fade;
  72. animation-duration: 1.5s;
  73. }
  74. @-webkit-keyframes fade {
  75. from {opacity: .4}
  76. to {opacity: 1}
  77. }
  78. @keyframes fade {
  79. from {opacity: .4}
  80. to {opacity: 1}
  81. }

第三步:添加js(carousel.js)

  1. var slideIndex = 1;
  2. showSlides(slideIndex);
  3. function plusSlides(n) {
  4. showSlides(slideIndex += n);
  5. }
  6. function currentSlide(n) {
  7. showSlides(slideIndex = n);
  8. }
  9. function showSlides(n) {
  10. var i;
  11. var slides = document.getElementsByClassName("mySlides");
  12. var dots = document.getElementsByClassName("dot");
  13. if (n > slides.length) {
  14. slideIndex = 1
  15. }
  16. if (n < 1) {
  17. slideIndex = slides.length
  18. }
  19. for (i = 0; i < slides.length; i++) {
  20. slides[i].style.display = "none";
  21. }
  22. for (i = 0; i < dots.length; i++) {
  23. dots[i].className = dots[i].className.replace(" active", "");
  24. }
  25. slides[slideIndex-1].style.display = "block";
  26. dots[slideIndex-1].className += " active";
  27. }

如果改为自动播放幻灯片,则使用如下js:

  1. var slideIndex = 0;
  2. showSlides();
  3. function showSlides() {
  4. var i;
  5. var slides = document.getElementsByClassName("mySlides");
  6. for (i = 0; i < slides.length; i++) {
  7. slides[i].style.display = "none";
  8. }
  9. slideIndex++;
  10. if (slideIndex> slides.length) {slideIndex = 1}
  11. slides[slideIndex-1].style.display = "block";
  12. setTimeout(showSlides, 2000); // Change image every 2 seconds
  13. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/45871?site
推荐阅读
相关标签
  

闽ICP备14008679号