每天一個JS 小demo之滑屏幻燈片。主要知識點:event

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
body {
margin: 0;
}
#wrap {
margin: 100px auto;
position: relative;
width: 400px;
height: 300px;
border: 5px solid #000;
overflow: hidden;
}
#list {
position: absolute;
left: 0;
top: 0;
width: 400%;
list-style: none;
padding: 0;
margin: 0;
}
#list li {
width: 25%;
float: left;
}
img {
vertical-align: top;
}
#navs {
position: absolute;
left: 0;
bottom: 30px;
height: 12px;
width: 100%;
text-align: center;
}
#navs a {
display: inline-block;
width: 12px;
height: 12px;
vertical-align: top;
background: #fff;
margin: 0 5px;
border-radius: 6px;
}
#navs .active {
background: #f60;
}
</style>
</head>
<body>
<!--
練習:
1. 實現自動播放
2. 添加上一張 下一張功能
3. 給下邊的導航添加點擊事件
-->
<div id="wrap">
<ul id="list">
<li><img src="pic/1.jpg"/></li>
<li><img src="pic/2.jpg"/></li>
<li><img src="pic/3.jpg"/></li>
<li><img src="pic/4.jpg"/></li>
</ul>
<nav id="navs">
<a href="javascript:;" class="active"></a>
<a href="javascript:;"></a>
<a href="javascript:;"></a>
<a href="javascript:;"></a>
</nav>
</div>
<script type="text/javascript" src="startmove.js"></script>
<script type="text/javascript">
(function(){
var wrap = document.querySelector('#wrap');
var list = document.querySelector('#list');
var navs = document.querySelectorAll('#navs a');
var wrapW = css(wrap,"width");
list.onmousedown = function(e){
clearInterval(list.timer);//清除動畫
var startMouseX = e.clientX;
var elX = css(list,"left");
document.onmousemove = function(e){
var nowMouseX = e.clientX;
css(list,"left",nowMouseX - startMouseX + elX);
};
document.onmouseup = function(e){
document.onmousemove = null;
document.onmouseup = null;
var left = css(list,"left");
var now = -Math.round(left/wrapW); //獲取到走了幾張圖
console.log(now);
now = now<0?0:now;
now = now>navs.length-1?navs.length-1:now;

left = now * wrapW;//計算走到這張圖 left需要走的距離
startMove({
el: list,
target: {
left: -left
},
type: "easeOutStrong",
time: 800
});
for(var i = 0; i < navs.length; i++){
navs[i].className = "";
}
navs[now].className = "active";
};
return false;//阻止默認事件(在這的作用阻止圖片被選中)
};
})();
</script>
</body>
</html>


來源:itnose

上一篇: Vue實戰Vue-cli項目構建(Vue+webpack系列之一)

下一篇: Vue按需加載提升用戶體驗

分享到: 更多
吉林快三彩票 飞艇计划稳 冰球突破11个红人多少倍 三公棋牌游戏安卓版下载 广东时时是真的吗 北京pk10正规官方网站 双色球中奖人 pk10和值技巧大全图解 万人炸金花安卓版 孔帕尼 时时彩平台骗局 七星彩最新预测号码 黑龙江时时经网 谁有时时彩计划软件 双色球网 单双玩法nba