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 ...
随机推荐
- web 开发之js---HTML5之广播聊天室
那个头标题很有意思js做的 http://www.cnblogs.com/xgao/p/4200985.html
- UVA 699 The Falling Leaves (二叉树水题)
本文纯属原创.转载请注明出处,谢谢. http://blog.csdn.net/zip_fan. Description Each year, fall in the North Central re ...
- WPF 自定义快捷键命令(COMMAND)(转)
命令简介 WPF 中的命令是通过实现 ICommand 接口创建的.ICommand 公开两个方法(Execute 及 CanExecute)和一个事件(CanExecuteChanged).Exec ...
- centos7.0 关闭防火墙
1.关闭firewall:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止fire ...
- 【BZOJ3060】[Poi2012]Tour de Byteotia 并查集
[BZOJ3060][Poi2012]Tour de Byteotia Description 给定一个n个点m条边的无向图,问最少删掉多少条边能使得编号小于等于k的点都不在环上. Input ...
- 使用PLSQL客户端导入导出数据库
本文主要介绍如何使用SQL Developer工具来实现备份数据库.数据导出等操作,然后实现Oracle对象导入数据等操作 1 导出数据库对象 在PL/SQL Developer的菜单Tools=&g ...
- 九度OJ 1324:The Best Rank(最优排名) (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:489 解决:126 题目描述: To evaluate the performance of our first year CS major ...
- 查看django的安装路径
查看django的安装路径 pip3 show django
- vim 光标的移动和跳转文件的位置
刚启动vim进入的就是命令模式 在命令模式下 h等于左箭头 j等于下箭头 k等于上箭头 l等于右箭头 想要多次移动可以使用30j或30↓向下移动30行 在命令模式下输入0跳到行头 在命令模式下输入$跳 ...
- 利用CocoaPods管理本地工程和发布开源框架
发布自己三方框架 发布云端库 1.创建spec pod spec create xxx 2.编辑spec s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称 ...