JS学习十四:div拖拽示例、轮播图片示例
div拖拽效果:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
#box {
width:100px;
height:100px;
background-color:red;
position: absolute;
}
</style>
</head>
<body style="height: 1000px;position: relative;">
<div id="box"></div>
<script type="text/javascript">
var jsDiv = document.getElementById("box")
basex = 0
basey = 0
movex = 0
movey = 0
//鼠标按下事件
jsDiv.addEventListener("mousedown", function(e){
var ev = e || window.event
basex = ev.pageX
basey = ev.pageY
// 鼠标移动事件,针对Document
// document.addEventListener("mousemove", function(e){
document.onmousemove = function(e){
var ee = e || window.event
movex = ee.pageX - basex
basex = ee.pageX
movey = ee.pageY - basey
basey = ee.pageY
jsDiv.style.left = jsDiv.offsetLeft + movex + "px"
jsDiv.style.top = jsDiv.offsetTop + movey + "px"
// }, false)
}
}, false)
//鼠标松开事件
document.addEventListener("mouseup", function(){
document.onmousemove = null
})
</script>
</body>
</html>
图片轮播:
鼠标进入图标或者点击第几张图片:轮播停止,并出现上下面的标签
<!DOCTYPE html> <html> <head> <link href="css/bt.css" rel="stylesheet" type="text/css" /> </head> <body style="height: 1000px;"> <div id="box"> <img src="img/1.jpg" id="pic"/> <ul id="list"> <li class="lili">1</li> <li class="lili">2</li> <li class="lili">3</li> <li class="lili">4</li> </ul> <div id="left" class="bt"><</div> <div id="right" class="bt">></div> </div> </body> <script type="text/javascript" src="js/loop.js"></script> </html>
* { margin: 0; padding: 0; } /* 轮番图的宽高的样式 */ #box { width: 790px; height: 340px; margin: 0 auto; position: relative; } /* 上下面"<>"的样式 */ .bt { width: 50px; /*文本宽高*/ height: 80px; background-color: rgba(0,0,0,0.2); color: #fff; /*文本字体颜色*/ font-size: 30px; /*文本字体大小*/ line-height: 80px; /*垂直居中*/ text-align: center; /*文本居中*/ position: absolute; /*定位*/ top: 130px; /*定位的top值*/ display: none; } /* 文本<>定位的位置 */ #left { left: 0; } #right { right: 0; } #list { list-style: none; position: absolute; bottom: 20px; left:250px; } #list li { float: left; width: 20px; height: 20px; background-color: #aaa; margin-left: 10px; border-radius: 50%; text-align: center; line-height: 20px; }
var jsBox = document.getElementById("box") var jsPic = document.getElementById("pic") var jsLeft = document.getElementById("left") var jsRight = document.getElementById("right") var jsLisArr = document.getElementsByClassName("lili") //第一张图片默认为第一个li,当前li为红色 jsLisArr[0].style.backgroundColor = "red" //启动一个定时器去更换jsPic中的src属性 var currangePage = 1 var timer = setInterval(startloop, 1000) function startloop() { currangePage++ changePage() } function changePage() { if (currangePage == 5) { currangePage = 1 } else if (currangePage == 0) { currangePage = 4 } //更换图片 jsPic.src = "img/" + currangePage + ".jpg" //清空所小圆点的颜色 for (var i = 0; i < jsLisArr.length; i++) { jsLisArr[i].style.backgroundColor = "#aaa" } //将当前图片对应的数字着红色 jsLisArr[currangePage - 1].style.backgroundColor = "red" } //鼠标进入box jsBox.addEventListener("mouseover", overFunc, false) function overFunc() { //停止定时器 clearInterval(timer) //显示左右按钮 jsLeft.style.display = "block" jsRight.style.display = "block" } //鼠标进入左右按钮,按钮颜色加深 jsLeft.addEventListener("mouseover", deepColor, false) jsRight.addEventListener("mouseover", deepColor, false) function deepColor() { this.style.backgroundColor = "rgba(0,0,0,0.6)" } //鼠标离开左右按钮,按钮颜色变浅 jsLeft.addEventListener("mouseout", qianColor, false) jsLeft.addEventListener("mouseout", qianColor, false) function qianColor() { this.style.backgroundColor = "rgba(0,0,0,0.1)" } //点击左右侧按钮 jsLeft.addEventListener("click", function(){ currangePage-- changePage() },false) jsRight.addEventListener("click", function(){ currangePage++ changePage() },false) //进入小圆点 for (var i = 0; i < jsLisArr.length; i++) { jsLisArr[i].index = i + 1 jsLisArr[i].addEventListener("mouseover", function(){ // currangePage = parseInt(this.innerHTML) //如果li中的没有数字,则给li元素节点增加index属性,使用index表示第几个li //直接使用i,i有问题 currangePage = parseInt(this.index) changePage() }, false) }
轮番,第三方包:swiper
posted on 2018-11-20 23:44 myworldworld 阅读(702) 评论(0) 收藏 举报
浙公网安备 33010602011771号