js原生轮播

  今天用js做了轮播图,做的不怎么好,希望大家能够看懂。

效果:

  1.鼠标放在轮播图上自动停止

  2.鼠标离开轮播图自动播放

  3.鼠标点击轮播图上的小圆点跳转到相应的图上。

代码:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js轮播</title>
<style type="text/css" media="screen">
*{margin: 0;padding: 0;}
body{width: 100%}
ul{width: 100%;height: 500px;list-style: none;position: relative;overflow: hidden}
ul li {float: left;width: 100%;height: 100%;position: absolute;top: 0;left: 0;text-align: center;line-height: 500px;font-size: 40px;font-weight: bold;background: red;z-index: 0;opacity: 0}
ul li:nth-child(2){background: yellow}
ul li:nth-child(3){background: pink}
.anbox{position: absolute;z-index: 999;left: 50%;top: 90%;transform: translate(-50%, 0);}
.an{width: 20px;height: 20px;background: white;float: left;margin-left: 20px;border-radius: 50%;opacity: 0.6}
.an:nth-child(1){margin: 0;}
</style>
</head>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<div class="anbox">
<div class="an"></div>
<div class="an"></div>
<div class="an"></div>
</div>
</ul>
<script src="js/c.js"></script>
<script>
$tag('body')[0].onload = aa;
var yuans = $class('an');
var lis = $tag('li');
var ul = $tag('ul')[0];
var b = 1;//控制图片和小圆点的下标值; // 轮播
function aa(){
reset();
lis[b-1].style.zIndex = b;
lis[b-1].style.transition = 1+'s';
lis[b-1].style.opacity = 1;
yuans[b-1].style.background = $random255();
yuans[b-1].style.opacity = 1;
b++;
if(b==lis.length+1){//重置b值
b=1;
}
}
// 鼠标放上去
var time =setInterval(aa,2000);
ul.onmousemove = ting;
function ting(){
clearInterval(time);
}
ul.onmouseout = function(){
ting = null;
time =setInterval(aa,2000);
} //鼠标放在小圆点的时候
for(var x=0;x<yuans.length;x++){
yuans[x].onclick = yuan;
yuans[x].value = x;
}
function yuan(){
var i = this.value;
reset();
lis[i].style.zIndex =4;
lis[i].style.opacity = 1;
yuans[i].style.background = $random255();
} //点击上一个或者下一个
var page = $class('tag');
for(var x of page){
x.onclick = pages;
}
function pages(){
if(this.id == 'left'){
font();
}
}
function reset(){ //小圆点和图全部还原
for(var j=0;j<lis.length;j++){
lis[j].style.zIndex = 0;
lis[j].style.opacity = 0;
yuans[j].style.background = "white";
yuans[j].style.opacity = 0.6;
}
}
</script>
</body>
</html>

  轮播就到这里了,里面还有自己封装的函数,就使用了标签,类名,id获取。

js原生轮播的更多相关文章

  1. js原生轮播图

    轮播图是新手学前端的必经之路! 直接上代码! <!DOCTYPE html><html lang="en"><head> <meta ch ...

  2. js 原生轮播图插件

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 小白之js原生轮播图

    html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  4. Js原生轮播-直接上代码

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  5. 原生js焦点轮播图

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

  6. 原生js实现轮播图

    原生js实现轮播图 很多网站上都有轮播图,但找到一个系统讲解的却很难,因此这里做一个简单的介绍,希望大家都能有所收获,如果有哪些不正确的地方,希望大家可以指出. 原理: 将一些图片在一行中平铺,然后计 ...

  7. 封装一个简单的原生js焦点轮播图插件

    轮播图实现的效果为,鼠标移入左右箭头会出现,可以点击切换图片,下面的小圆点会跟随,可以循环播放(为了方便理解,没有补2张图做无缝轮播).本篇文章的主要目的是分享封装插件的思路. 轮播图我一开始是写成非 ...

  8. 原生JS实现轮播图的效果

    原生JS实现轮播图的效果: 只要缕清了全局变量index的作用,这个轮播图也就比较容易实现了:另外,为了实现轮这个效果,有几处clearInterval()必须写上.废话不多说,直接上代码,修复了几个 ...

  9. 使用原生js将轮播图组件化

    代码地址如下:http://www.demodashi.com/demo/11316.html   这是一个轮播图组件,这里是代码地址,需要传入容器的id和图片地址,支持Internet Explor ...

随机推荐

  1. dojo:为数据表格添加复选框

    一.添加复选框 此时应该选用EnhancedGrid,而不是普通的DataGrid.添加复选框需要设置EnhancedGrid的plugins属性,如下: gridLayout =[{ default ...

  2. 分布式超级账本Hyperledger为什么选择使用kafka引擎实现共识方案

    使用kafka集群配置的原因也很简单,为orderer共识及排序服务提供足够的容错空间,当我们向peer节点提交Transaction的时候,peer节点会得到或返回(基于SDK)一个读写集结果,该结 ...

  3. dom实例,模态框,全选,反选,取消

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. javascript map forEach filter some every在购物车中的实战演练区分用法

    1.map forEach 1.map 循环遍历每一项,返回一个新的数组 例: 购物车商品小计: //购物车 var cart=[ {"id":101,"name&quo ...

  5. JavaScript之WebSocket技术详解

    概述 HTTP协议是一种无状态协议,服务器端本身不具有识别客户端的能力,必须借助外部机制,比如session和cookie,才能与特定客户端保持对话.这多多少少带来一些不便,尤其在服务器端与客户端需要 ...

  6. C/C++基础----特殊工具和技术 (重载new和delete,RTT,限定作用域的枚举类型,类成员指针,嵌套类,局部类,volatile,链接指示 extern “C”)

    重载new和delete 1调用operator new( 或new[])标准库函数分配足够大的.原始的.未命名的内存空间以便存储特定类型的对象 2编译器运行相应地构造函数以构造这些对象,并为其传入初 ...

  7. vue之后台管理系统遇到的几个痛点

    杂七杂八的一些日总结 1.vue(最)合理的处理表单提交和初始化表单数据显示的方式 对于表单处理,繁琐的一个地方就是当出现多个下拉选择的表单框的时候,我们需要进行多次将选择的文本去换对应的id值的操作 ...

  8. Java知识之运算符篇

    运算符 算术运算符:+.-.*./ 和 %,两个整数相除,结果还是整数. 赋值运算符:=.+=.-=.*=./=.%=.&=.|=.~=.^=.<<=.>>= . &g ...

  9. 享元(FlyWeight)模式

    享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能.这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式.享元模式尝试 ...

  10. java设计模式-Observer(2)

    一.模拟AWT事件处理 回顾一下JDK里面按下一个Button,有件事发生,这个东西怎么写: package com.cy.dp.observer.awt; import java.awt.Butto ...