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 ...
随机推荐
- 使用GnuPG(PGP)加密信息及数字签名教程_转
所谓加解密就是一方以密钥加密,另一外收到文件后以相对应的密钥解密,从而获取原始文件.数字签名的过程:信息是通过普通未加密方式发送信息给对方的,只是在每条信息后面都会附加一坨字符(名曰:签名)(或信息与 ...
- oracle中nvl()函数
oracle中nvl()函数 oracle的nvl函数的使用方法 通过查询获得某个字段的合计值,假设这个值位null将给出一个预设的默认值 select nvl(sum(t.dwxhl),1) f ...
- Python 推导式、迭代器、生成器、模块和包
一.推导式 (一).列表推导式(集合推导式也同理于此) 利用列表推导式,取出1-20内所有偶数 li = [i for i in range(1, 21) if i % 2 == 0] # 如果只有一 ...
- Spring 和 filter
标题是 spring和filter,但是这里却是说的spring MVC 项目中需要用到filter,filter中需要用到spring实例化的bean,于是为了简化就形成spring和filter了 ...
- task10-14
[说明]今天白天有事外出了,晚上会图书馆做了下面的任务,时间有点紧,好多没完成,明天要补上今天的! 一:今日完成 10.插入10条数据,查看有索引和无索引的情况下,Sql语句执行的效率 1)插入数据时 ...
- intellij idea 自动生成setter getter
windows下: alt + insert,然后选择要生成的成员. mac下: command + N
- 核函数 深度学习 统计学习 强化学习 神经网络 xx
- jmeter--基于http+json接口的功能测试
jmeter--基于http+json接口的功能测试 测试项目叫做smile_task,简称sm_task.这是一个基于nodejs超简单的todo list,sm_task没有任何UI界面(纯接口) ...
- 洛谷 2679 [NOIP 2015] 子串
题目戳这里 一句话题意 给你两个字符串A,B从A中取出K个不重合子串(顺序与在A中顺序相同)组成B,问有多少种方案? Solution 话说重打还是出各种错误也是醉了 先看题目,因为答案与A串,B串和 ...
- Smarty模板的逻辑运算符号稍微做一下总结
对Smarty模板的逻辑运算符号稍微做一下总结,以备后用. eq equal : 相等neq not equal:不等于gt greater than:大于lt less th ...