Bootstrap下的轮播图
<div id="myCarousel" class="carousel slide" data-ride="carousel" data-interval="1000" data-pause="hover" >
<ul class="carousel-indicators">
</ul>
<div class="carousel-inner" role="listbox">
</div>
<a data-slide="prev" data- class="left carousel-control" href="#myCarousel">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a data-slide="next" class="right carousel-control" href="#myCarousel">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
<script type="text/template" id="slideTemplate">
<% for (let i = 0; i < list.length; i++) { %>
<li data-target="#myCarousel" class="<%= i==0?'active': ''%>" data-slide-to="<%= i%>"></li>
<% } %>
<!--<li data-target="#myCarousel" data-slide-to="1"></li>-->
<!--<li data-target="#myCarousel" data-slide-to="2"></li>-->
</script>
<script type="text/template" id="bannerTemplate">
<% for (let i = 0; i < list.length; i++) { %>
<% let item = list[i]; %>
<div class="item <%= i==0?'active': ''%>">
<% if (flag) { %>
<a href="" class="m-banner-img"><img src="<%= item.mUrl %>" alt=""></a>
<% } else { %>
<a href="" class="pc-banner-img" style="background-image: url(<%= item.pcUrl%>);"></a>
<% } %>
</div>
<% } %>
</script>
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="lib/artTemplate/template-native.js"></script>
<script src="js/carousel.js"></script>
<script>
$(function(){
$(".prev-slide").click(function(){
$("#myCarousel").carousel('prev');
});
$(".next-slide").click(function(){
$("#myCarousel").carousel('next');
});
});
</script>
.pc-banner-img {
display: block;
width: 100%;
height: 400px;
background-size: cover;
background: no-repeat center;
}
.m-banner-img {
display: block;
width: 100%;
}
.m-banner-img img {
display: block;
width: 100%;
}
$(function () {
banner();
});
let banner = function () {
let getData = function (callback) {
$.ajax({
type: 'get',
url: 'js/data.json',
data: '',
dataType: 'json',
success: function (res) {
callback && callback(res);
},
error: function (res) {
console.log(res);
}
});
};
let render = function () {
getData(function (res) {
console.log(res);
let slideHtml = template('slideTemplate', {list: res});
console.log(slideHtml);
$('.carousel-indicators').html(slideHtml);
let isMobile = $(window).width() < 768;
console.log(isMobile);
let bannerHtml = template('bannerTemplate', {list: res, flag: isMobile});
console.log(bannerHtml);
$(".carousel-inner").html(bannerHtml);
});
};
$(window).on('resize', function () {
console.log("123");
render();
console.log("123");
}).trigger('resize');
};