JS+css3焦点轮播图PC端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js原生web轮播图</title>
<style>
*{
margin:0;
padding:0;
list-style: none;
-moz-user-select: none;/*文字不可选择*/
-khtml-user-select: none;/*文字不可选择*/
user-select: none;/*文字不可选择*/
}
#container{
width: 600px;
height: 400px;
position: relative;
overflow: hidden;
}
#slider{
margin-left:-600px;
width: 4200px;
height: 400px;
}
#slider li{
width: 600px;
height: 400px;
float: left;
}
img{
width: 600px;
height: 400px;
}
#prev{
position: absolute;
top:40%;
left:0px;
width: 50px;
height: 50px;
background-color: #eee;
z-index: 999;
line-height:50px;
text-align: center;
}
#prev:hover{
cursor: pointer;
}
#next{
position: absolute;
top:40%;
right:0px;
width: 50px;
height: 50px;
background-color: #eee;
z-index: 999;
line-height:50px;
text-align: center;
}
#next:hover{
cursor: pointer;
}
#dotul{
position: absolute;
bottom:100px;
left:38%;
width: 150px;
height: 20px;
}
.dot{
background-color: green;
}
#dotul li{
margin-left:10px;
width: 20px;
height: 20px;
float: left;
border-radius: 10px;
z-index: 999;
}
li{
background-color: red;
}
</style>
</head>
<body>
<div id="container">
<ul id="slider">
<li><img src="5.jpg" alt=""></li>
<li><img src="1.jpg" alt=""></li>
<li><img src="2.jpg" alt=""></li>
<li><img src="3.jpg" alt=""></li>
<li><img src="4.jpg" alt=""></li>
<li><img src="5.jpg" alt=""></li>
<li><img src="1.jpg" alt=""></li>
</ul>
<ul id="buttons">
<li id="prev">上一张</li>
<li id="next">下一张</li>
</ul>
<div id="dots">
<ul id="dotul">
<li index="1" class="dot"></li>
<li index="2"></li>
<li index="3"></li>
<li index="4"></li>
<li index="5"></li>
</ul>
</div>
</div> <script>
var container = document.getElementById('container');
var slider = document.getElementById('slider');
var prev=document.getElementById('prev');
var next=document.getElementById('next');
var dots=document.getElementById('dotul').getElementsByTagName('li');
var index=1;
var timer;
function dotsInit(){
for (var i = 0; i < dots.length; i++) {
console.log(dots[i]);
dots[i].onclick=function(){
var $index=parseInt(this.getAttribute("index"));
slider.style.marginLeft=($index)*(-600)+"px";
index=$index;
}
}
}
dotsInit();
function animate(option){
var sliderLeft=slider.offsetLeft;
slider.style.marginLeft=parseInt(sliderLeft)+option+'px';
}
function dotsTurn(){
for(var i=0;i<dots.length;i++){
if(dots[i].getAttribute('index')==index){
dots[i].className='dot'
}else{
dots[i].className=''
}
}
}
prev.onclick=function(){
if(slider.offsetLeft % 600 !=0){
return;
}
slider.style.transition="0.5s";
animate(600);
(index==1)?(index=5):index--;
}
next.onclick=function(){
if(slider.offsetLeft % 600 !=0){
return;
}
slider.style.transition="0.5s";
animate(-600);
(index==5)?(index=1):index++;
}
slider.addEventListener("transitionend",function(){
if(slider.offsetLeft==-3600){
slider.style.transition="0s";
slider.style.marginLeft="-600px";
}
if(slider.offsetLeft==0){
slider.style.transition="0s";
slider.style.marginLeft="-3000px";
}
dotsTurn();
});
function init(){
slider.style.transition="0.5s";
timer=setInterval(next.onclick,5000);
}
init();
slider.addEventListener('mouseenter',function(){
clearInterval(timer);
})
slider.addEventListener('mouseout',init)
</script>
</body>
</html>
JS+css3焦点轮播图PC端的更多相关文章
- js点击拉拽轮播图pc端移动端适配
<div class="content"> <button class="left">left</button> <b ...
- 原生js焦点轮播图
原生js焦点轮播图主要注意这几点: 1.前后按钮实现切换,同时注意辅助图2.中间的button随着前后按钮对应切换,同时按button也能跳转到相应的index3.间隔调用与无限轮播.4.注意在动画时 ...
- js焦点轮播图
汇集网上焦点轮播图的实现方式,自己试了下,不过鼠标悬浮停止动画和鼠标离开动画播放好像没生效,不太明白,最后两行代码中,为什么可以直接写stop和play.不用加括号调用函数么?求懂的大神指点! 所用知 ...
- 自己用原生JS写的轮播图,支持移动端触屏滑动,面向对象思路。分页器圆点支持click和mouseover。
自己用原生javascript写的轮播图,面向对象思路,支持移动端手指触屏滑动.分页器圆点可以选择click点击或mouseover鼠标移入时触发.图片滚动用的setInterval,感觉setInt ...
- 自己用原生JS写的轮播图,支持移动端触摸滑动,分页器圆点可以支持mouseover鼠标移入和click点击,高手看了勿喷哈
自己用原生JavaScript写的轮播图,分页器圆点按钮可支持click点击,也可支持mouseover鼠标悬浮触发,同时支持移动端触摸滑动,有兴趣的友友可以试试哈,菜鸟一枚,高手看了勿喷,请多多指正 ...
- JS---案例---左右焦点轮播图(tb)
案例---左右焦点轮播图(tb) <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- JavaScript焦点轮播图
在慕课学习了JavaScript焦点轮播图特效,在此做一个整理. 首先是html结构,我用的是本地同文件夹下的三张图片,多出来的第一张(pic3副本)和最后一张图片(pic1副本)是为了实现无缝切换效 ...
- CSS3实现轮播图效果
CSS3实现轮播图主要是由css:background-position和css3:animation实现.且实现此轮播需要一张四个图横着相连的图片. 注(Internet Explorer 10.F ...
- jQuery与原生js实现banner轮播图
jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...
随机推荐
- 【elasticsearch】安装合集
[elasticsearch](1)centos7 使用yum安装elasticsearch 2.X [elasticsearch](2)centos7 超简单安装elasticsearch 的监控. ...
- 微服务网关哪家强?一文看懂Zuul, Nginx, Spring Cloud, Linkerd性能差异
导语:API Gateway是实现微服务重要的组件之一.面对诸多的开源API Gateway,如何进行选择也是架构师需要关注的焦点.本文作者对几个较大的开源API Gateway进行了压力测试,对 ...
- 嵌入式数据库H2的安装与配置
一.配置JAVA环境 1.首先检查系统是否自带JDK 使用命令:#java -version 没有信息即为没有安装,如有且版本较低,可采用如下方式卸载: 查看命令: rpm -qa | grep ja ...
- 【BZOJ4548】小奇的糖果 set(链表)+树状数组
[BZOJ4548]小奇的糖果 Description 有 N 个彩色糖果在平面上.小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果.求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的 ...
- POJ 1584 A Round Peg in a Ground Hole【计算几何=_=你值得一虐】
链接: http://poj.org/problem?id=1584 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22013#probl ...
- iostat命令简单使用
1.iostat使用范围 iostat命令可以生成3种类型的报告: (1)CPU使用情况的报告 (2)设备使用情况的报告 (3)网络文件系统(NFS)使用情况的报告 2.每种报告的格式说明 关于CPU ...
- Mybatis sql注入问题
预编译方式,即PreparedStatement,可以防注入:#{id} <select id="getBlogById" resultType="Blog&quo ...
- sublime 快捷键,左菜单乱码
sublime 快捷键安装 packagecontrol https://packagecontrol.io/installation#st3 import urllib.request,os,has ...
- Django——form组件is_valid校验机制
#先来归纳一下整个流程#(1)首先is_valid()起手,看seld.errors中是否值,只要有值就是flase#(2)接着分析errors.里面判断_errors是都为空,如果为空返回self. ...
- 3.11课·········C#类
String类:.Length 字符的长度,返回一个int类型的值 .Trim() 去掉开头以及结尾的空格.TrimStart() 去掉字符串开头的空格.TrimEnd() 去掉字符串后面的空格 .T ...