<!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端的更多相关文章

  1. js点击拉拽轮播图pc端移动端适配

    <div class="content"> <button class="left">left</button> <b ...

  2. 原生js焦点轮播图

    原生js焦点轮播图主要注意这几点: 1.前后按钮实现切换,同时注意辅助图2.中间的button随着前后按钮对应切换,同时按button也能跳转到相应的index3.间隔调用与无限轮播.4.注意在动画时 ...

  3. js焦点轮播图

    汇集网上焦点轮播图的实现方式,自己试了下,不过鼠标悬浮停止动画和鼠标离开动画播放好像没生效,不太明白,最后两行代码中,为什么可以直接写stop和play.不用加括号调用函数么?求懂的大神指点! 所用知 ...

  4. 自己用原生JS写的轮播图,支持移动端触屏滑动,面向对象思路。分页器圆点支持click和mouseover。

    自己用原生javascript写的轮播图,面向对象思路,支持移动端手指触屏滑动.分页器圆点可以选择click点击或mouseover鼠标移入时触发.图片滚动用的setInterval,感觉setInt ...

  5. 自己用原生JS写的轮播图,支持移动端触摸滑动,分页器圆点可以支持mouseover鼠标移入和click点击,高手看了勿喷哈

    自己用原生JavaScript写的轮播图,分页器圆点按钮可支持click点击,也可支持mouseover鼠标悬浮触发,同时支持移动端触摸滑动,有兴趣的友友可以试试哈,菜鸟一枚,高手看了勿喷,请多多指正 ...

  6. JS---案例---左右焦点轮播图(tb)

    案例---左右焦点轮播图(tb) <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  7. JavaScript焦点轮播图

    在慕课学习了JavaScript焦点轮播图特效,在此做一个整理. 首先是html结构,我用的是本地同文件夹下的三张图片,多出来的第一张(pic3副本)和最后一张图片(pic1副本)是为了实现无缝切换效 ...

  8. CSS3实现轮播图效果

    CSS3实现轮播图主要是由css:background-position和css3:animation实现.且实现此轮播需要一张四个图横着相连的图片. 注(Internet Explorer 10.F ...

  9. jQuery与原生js实现banner轮播图

    jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...

随机推荐

  1. 01 mongodb 的特点

    mongoDB 介绍(特点.优点.原理) 介绍:MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 特点:高性能.易部署.易使用,存 ...

  2. XtraBackup全备与增量备份

    一.XtraBackup安装 下载地址:http://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.8/source/ 安装步骤: ===== ...

  3. 地形混合shader

    1.四个贴图混合 Shader "Custom/BlendTex_surface" { Properties { _RTexture("Red Channel Textu ...

  4. XML使用总结(一)

    XML使用总结(一): XML是一种可拓展的标记语言,被设计用来描写叙述.存储及传递数据的语言体,而它的标签没有被提前定义,须要用户自行定义,是W3C推荐的数据存储和传递的标准标记语言. ·      ...

  5. JS获取图片的缩略图

    js获取上传文件的缩略图 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  6. java jdk和android sdk的安装以及环境变量的配置

    安卓环境变量设置 (烦)http://wenku.baidu.com/link?url=QRwpFhP8d0yJorhcvuZPrz3lNFQW-uwYg6TlZtv6uen6_SVsvRrzf0UJ ...

  7. [原创]关于absolute、relative和float的一些思考

    absolute: 元素完全脱离文档流,不占文档流的位置,不使用top.left等属性时,仍然在原文档流位置上(但是不在文档流中,也不占用位置),设置了top.left等之后,向上寻找到第一个非sta ...

  8. hdu 4414 Finding crosses【简单模拟】

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4414 CSUST:点击打开链接 Finding crosses Time Limit: 2000/1000 ...

  9. 九度OJ 1350:二叉树的深度 (二叉树)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1044 解决:614 题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长 ...

  10. Unable to determine IP address from host name