>本文展示了構建兩個簡單的自舉旋轉木馬擴展:全屏幻燈片和帶有隨機初始幻燈片的輪播。 我們將從基本的旋轉木馬開始,然後增強。
密鑰概念:
構建基本旋轉木製:> Bootstrap提供核心的旋轉木結構。 每個圖像都包含a後備背景顏色的
屬性,如果圖像加載失敗:>
data-color
Javascript初始化旋轉木馬,設置間隔並禁用暫停:
<code class="language-html"><div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel"> <ol class="carousel-indicators"> <li data-target="https://www.php.cn/link/de1d5674932fce63c24dc80f6f1ffe9f" data-slide-to="0"> <li data-target="https://www.php.cn/link/de1d5674932fce63c24dc80f6f1ffe9f" data-slide-to="1"> <li data-target="https://www.php.cn/link/de1d5674932fce63c24dc80f6f1ffe9f" data-slide-to="2"> </ol> <div class="carousel-inner"> <div class="carousel-item"> <img src="https://img.php.cn/upload/article/000/000/000/173958517524890.jpg" alt="A Full-screen Bootstrap Carousel with Random Initial Image "> <div class="carousel-caption d-none d-md-block"> <h5>First Image</h5> </div> </div> <div class="carousel-item"> <!-- ... more slides ... --> </div> <div class="carousel-item"> <!-- ... more slides ... --> </div> </div> <a class="carousel-control-prev" href="https://www.php.cn/link/de1d5674932fce63c24dc80f6f1ffe9f" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="https://www.php.cn/link/de1d5674932fce63c24dc80f6f1ffe9f" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div></code>
創建一個全屏幻燈片:
<code class="language-javascript">$('.carousel').carousel({ interval: 6000, pause: false });</code>
此增強使用自定義jQuery:
和CSS:
<code class="language-javascript">let $item = $('.carousel-item'); let $wHeight = $(window).height(); $item.height($wHeight); $item.addClass('full-screen'); $('.carousel img').each(function() { let $src = $(this).attr('src'); let $color = $(this).attr('data-color'); $(this).parent().css({ 'background-image': 'url(' + $src + ')', 'background-color': $color }); $(this).remove(); }); $(window).on('resize', function() { $wHeight = $(window).height(); $item.height($wHeight); });</code>此代碼通過圖像迭代,在其父容器上設置背景圖像和顏色,刪除
元素(現在使用背景),然後調整窗口大小的高度。 初始幻燈片的
類是通過jQuery進行的,以進行更平滑的過渡。<code class="language-css">.full-screen { background-size: cover; background-position: center; background-repeat: no-repeat; }</code>
隨機化初始幻燈片:<img alt="帶有隨機初始圖像的全屏bootstrap旋轉木馬" >
>
active
>要在負載上顯示隨機幻燈片,請從HTML中刪除硬編碼
> 此代碼選擇隨機幻燈片,並將
類應用於相應的幻燈片和指示器。active
進一步的自定義思想:
<code class="language-javascript">let $numberOfSlides = $('.carousel-item').length; let $currentSlide = Math.floor(Math.random() * $numberOfSlides); $('.carousel-indicators li').each(function() { let $slideValue = $(this).attr('data-slide-to'); if ($currentSlide == $slideValue) { $(this).addClass('active'); $item.eq($slideValue).addClass('active'); } else { $(this).removeClass('active'); $item.eq($slideValue).removeClass('active'); } });</code>
>使用CSS過渡或JavaScript動畫庫添加動畫效果(淡出,比例)。 active
使用>事件隨機化下一個/上一個幻燈片。
>以上是帶有隨機初始圖像的全屏bootstrap旋轉木馬的詳細內容。更多資訊請關注PHP中文網其他相關文章!