使用BootStrap建立響應(yīng)式網(wǎng)頁——通欄輪播圖(carousel)
1、bootstrap提供了js插件——輪播圖
我們還是照舊,直接拿過來用,需要改的地方再說。
2、修改
小屏幕看小圖,大屏圖看大圖:這個(gè)可以利用自定義屬性(data-XXX)data-img-lg(保存大圖)和data-img-xs(保存小圖)屬性保存圖片的路徑,利用jQuery的data函數(shù)取出data-xxxx屬性進(jìn)行動(dòng)態(tài)加載。
圖片居中顯示:大圖用背景圖片來做比較好一點(diǎn),小圖用img來做比較好一點(diǎn)(因?yàn)樾D的話需要等比例縮放,用背景圖做不到等比例縮放)。
承載輪播圖的盒子高度:大圖的的時(shí)候用圖片的高度,小圖自適應(yīng),所以要用到媒體查詢,設(shè)置容器高度。
3、代碼
<section id="banner" class="carousel slide" data-ride="carousel"> <!--小圓點(diǎn) --> <ol class="carousel-indicators"> <li data-target="#banner" data-slide-to="0" class="active"></li> <li data-target="#banner" data-slide-to="1"></li> <li data-target="#banner" data-slide-to="2"></li> <li data-target="#banner" data-slide-to="3"></li> </ol> <!-- 輪播圖片 --> <div class="carousel-inner" role="listbox"> <div class="item active" data-img-lg="img/slide_01_2000x410.jpg" data-img-xs="img/slide_01_640x340.jpg"> </div> <div class="item" data-img-lg="img/slide_02_2000x410.jpg" data-img-xs="img/slide_02_640x340.jpg"> </div> <div class="item" data-img-lg="img/slide_03_2000x410.jpg" data-img-xs="img/slide_03_640x340.jpg"> </div> <div class="item" data-img-lg="img/slide_04_2000x410.jpg" data-img-xs="img/slide_04_640x340.jpg"> </div> </div> <!-- 左右輪播 --> <a class="left carousel-control" href="#banner" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="right carousel-control" href="#banner" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </section>
<script type="text/javascript"> $(function() { //獲取屏幕寬度 // var screenWidth=$(window).width(); //判斷是不是手機(jī)屏幕 // if(screenWidth<768){//手機(jī)屏幕 // $("#banner .carousel-inner .item").each(function(index,item){ // var $item=$(item);//因?yàn)閭鬟f的item是dom對(duì)象,要把dom對(duì)象改為jQuery對(duì)象 // $item.css("background-image","url("+$item.data('img-xs')+")"); // }); // }else{//大屏幕 // $("#banner .carousel-inner .item").each(function(index,item){ // var $item=$(item);//因?yàn)閭鬟f的item是dom對(duì)象,要把dom對(duì)象改為jQuery對(duì)象 // $item.css("background-image",'url('+$item.data('img-lg')+')'); // }); // } //三元式 // var isPhone=screenWidth<768; // $("#banner .carousel-inner .item").each(function(index,item){ // var $item = $(item);//因?yàn)閭鬟f的item是dom對(duì)象,要把dom對(duì)象改為jQuery對(duì)象 // $item.css("background-image","url("+$item.data(isPhone?'img-xs':'img-lg')+")"); // }); function selectImg(){ var screenWidth=$(window).width(); var isPhone=screenWidth<768; $("#banner .carousel-inner .item").each(function(index,item){ var $item = $(item);//因?yàn)閭鬟f的item是dom對(duì)象,要把dom對(duì)象改為jQuery對(duì)象 $item.css("background-image",'url('+$item.data(isPhone?'img-xs':'img-lg')+')'); //我們需要小圖的時(shí)候等比例變化,所以我們需要img標(biāo)簽 if(isPhone){ $item.html("<img src='"+$item.data('img-xs')+"' alt='' />"); }else { $item.empty(); } }); } // $(window).on("resize",selectImg);//這樣是沒有效果的,必須屏幕尺寸變化一下才會(huì)加載圖片 $(window).on('resize',selectImg).trigger('resize');//觸發(fā)的是resize事件,不是事件處理程序selectImg }); </script>
以上所述是小編給大家介紹的使用BootStrap建立響應(yīng)式網(wǎng)頁——通欄輪播圖(carousel),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- BootStrap實(shí)現(xiàn)手機(jī)端輪播圖左右滑動(dòng)事件
- Bootstrap幻燈片輪播圖支持觸屏左右手勢(shì)滑動(dòng)的實(shí)現(xiàn)方法
- Bootstrap每天必學(xué)之響應(yīng)式導(dǎo)航、輪播圖
- Bootstrap開發(fā)實(shí)戰(zhàn)之響應(yīng)式輪播圖
- 利用BootStrap的Carousel.js實(shí)現(xiàn)輪播圖動(dòng)畫效果
- BootStrap實(shí)現(xiàn)輪播圖效果(收藏)
- 在bootstrap中實(shí)現(xiàn)輪播圖實(shí)例代碼
- Bootstrap實(shí)現(xiàn)基于carousel.js框架的輪播圖效果
- bootstrap輪播圖示例代碼分享
- bootstrap實(shí)現(xiàn)輪播圖效果
相關(guān)文章
jQuery ajax(復(fù)習(xí))—Baidu ajax request分離版
你沒有看錯(cuò)標(biāo)題,本文的確是在講Baidu ajax,不過是很久很久以前的版本了,我們先分析一段簡單的ajax代碼,來自早期的百度七巧板項(xiàng)目通過這個(gè)來先復(fù)習(xí)一遍ajax的知識(shí)2013-01-01JavaScript自定義瀏覽器滾動(dòng)條兼容IE、 火狐和chrome
本文主要分享了使用原生JavaScript實(shí)現(xiàn)自定義瀏覽器滾動(dòng)條兼容IE、 火狐和chrome的思路與方法,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01基于原生js實(shí)現(xiàn)判斷元素是否有指定class名
這篇文章主要介紹了基于原生js實(shí)現(xiàn)判斷元素是否有指定class名,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07JavaScript中利用Array filter() 方法壓縮稀疏數(shù)組
Array filter() 方法會(huì)跳過稀疏數(shù)組中缺少的元素,它的返回?cái)?shù)組總是稠密的。這篇文章給大家介紹了JavaScript中利用Array filter() 方法壓縮稀疏數(shù)組的相關(guān)知識(shí),需要的朋友參考下2018-02-02微信小程序開發(fā)中var that =this的用法詳解
這篇文章主要介紹了微信小程序開發(fā)中var that =this的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Egg.js 中 AJax 上傳文件獲取參數(shù)的方法
這篇文章主要介紹了Egg.js 中 AJax 上傳文件獲取參數(shù),需要的朋友可以參考下2018-10-10