js實現適合新聞類圖片的輪播效果
更新時間:2017年02月05日 16:39:40 作者:Lasy
本文主要分享了js實現適合新聞類圖片輪播效果的示例代碼,具有一定的參考價值,下面跟著小編一起來看下吧
話不多說,請看代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Picture carousel</title>
<style>
*
{
margin: 0;
padding: 0;
}
.carousel-container
{
overflow: hidden;
width: 405px;/* 130*3+5*3 = 405 */
height: 150px;
margin: 50px auto;
background-color: #2c2c2c;
}
.carousel-area
{
width: 1350px;/* 675*2 = 1350 */
height: 150px;
}
.carousel-ul
{
float: left;
overflow: hidden;
width: 675px;/* 130*5+5*5 = 675 */
height: 150px;
}
.carousel-ul li
{
float: left;
overflow: hidden;
width: 130px;
height: 130px;
margin: 10px 5px 10px 0;
list-style-type: none;
}
</style>
</head>
<body>
<div class="carousel-container">
<div class="carousel-area">
<ul class="carousel-ul" id="carousel-ul-1">
<li><img src="img/1.gif" alt=""></li>
<li><img src="img/2.jpg" alt=""></li>
<li><img src="img/3.jpg" alt=""></li>
<li><img src="img/4.jpg" alt=""></li>
<li><img src="img/5.gif" alt=""></li>
</ul>
</div>
</div>
<script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var carousel_interval_id, //interval ID
start_carousel_flag = false, //是否開始interval
carousel_speed = 50, //滾動速度(px/s),carousel_speed=1000/interval時間間隔。
start_interval = function() { //執(zhí)行interval
start_carousel_flag = true;
carousel_interval_id = setInterval(function() {
var margin_left = $('.carousel-area').css('margin-left');
$('.carousel-area').css('margin-left', (parseInt(margin_left) - 1) + 'px'); //不斷左移1px
if (parseInt($('.carousel-area').css('margin-left')) <= -($('.carousel-ul').width())) { //輪播部分超出容器后復位
$('.carousel-area').css('margin-left', 0);
}
}, 1000 / carousel_speed)
},
end_interval = function() { //停止interval
start_carousel_flag = false;
carousel_interval_id = clearInterval(carousel_interval_id);
}
$('.carousel-area').append('<ul class="carousel-ul">' + $('.carousel-ul').html() + '</ul>'); //復制carousel-ul,填補左移后出現的無內容區(qū)域,以此完成循環(huán)
start_interval();
$('.carousel-area').hover(
function() { //鼠標懸停事件
if (start_carousel_flag) { //已經開始interval
end_interval();
}
},
function() { //鼠標離開事件
if (!start_carousel_flag) { //沒有開始interval
start_interval();
}
}
)
})
</script>
</body>
</html>
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
百度Popup.js彈出框進化版 拖拽小框架發(fā)布 兼容IE6/7/8,Firefox,Chrome
百度空間的彈出窗口和拖拽效果(也就是popup.js),代碼精簡,效果也很好,我們可以在很多大型網站上見到這種效果,在我的項目中也使用了該js。2010-04-04
javascript基礎知識之html5輪播圖實例講解(44)
這篇文章主要為大家詳細介紹了javascript基礎知識之html5輪播圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02

