js-组件-轮播

时间:2022-06-25 08:30:58

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>轮播</title>

<style>

*{
margin: 0;
padding: 0;
border: 0;
list-style: none;
vertical-align: baseline;
}
img{
display: block;
float: left;
}
#container{
position: relative;
width: 500px;
overflow: hidden;
height: 375px;
margin: 0 auto;
}
#list{
position: absolute;
z-index: 1;
width: 3500px;
}
#list img{
width: 500px;
}
#prev,#next,#button{
position: absolute;
z-index: 2;
}
#button{
left: 190px;
bottom: 20px;
}
#button a{
display: block;
float: left;
width: 20px;
height: 20px;
background-color: #fff;
border-radius: 10px;
margin: 2px;
}
#button a.on{
background-color: #000;
}
#prev,#next{
background-color: rgba(0,0,0,0.3);
width: 80px;
height: 80px;
top: 150px;
display: none;
}
#prev:hover,#next:hover{
background-color: rgba(0,0,0,0.7);
cursor: pointer;
}
#next{
right: 0;
}
#prev span,#next span{
display: block;
border: 1px solid #fff;
border-left: none;
border-bottom: none;
width: 50px;
height: 50px;
transform:rotate(45deg);
margin-top: 15px;
}
#container:hover #next,#container:hover #prev{
display: block;
}
#prev span{
transform:rotate(-135deg);
margin-left: 25px;
}
</style>

</style>

<script>

window.onload=function(){

var container=document.getElementById('container');

var list=document.getElementById('list');

var prev=document.getElementById('prev');

var next=document.getElementById('next');

var buttons=document.getElementById('buttons').getElemenstByTagName('a');

var index=1;

var timer=setInterval(function(){

next.onclick();

},2000);

var moved=false;

function move(offset){

var newleft=parseInt(list.style.left)+offset;

var time=300;

var interval=30;

var speed=offset/(time/interval);

function go(){

if((speed<0&&newleft>list.style.left)||(speed>0&&newleft<list.style.left)){

moved=true;

parseInt(list.style.left)+speed+'px';

setTimeout=(go,interva);

}else{

moved=false;

list.style.left=newleft+'px';

if(newleft<-2500){

list.style.left=-500+'px';

}

if(newleft>-500){

list.style.left=-2500+'px';

}

}

}

go();

}

function showbutton(){

for(var i=0;i<buttons.length;i++){

if(buttons[i].className=='on'){

buttons[i].className='';

break;

}

}

buttons[index-1].className='on';

}

next.onclick=function(){

if(!moved){

move(-500);

if(index==5){

index=1;

}

index+=1;

showbutton();

}

}

prev.onclick=function(){

if(!moved){

move(500);

if(index==1){

index=5;

}

index-=1;

showbutton();

}

}

}

for(var i=0;i<buttons.length;i++){

buttons[i].onclick=function(){

if(this.className='on'){

return;

}

newindex=i+1;

var offset=(newindex-index)*(-500);

if(!moved){

move(offset);

index=newindex;

showbutton();

}

}

}

container.onmouseover=function(){

clearInterval(timer);

}

container.onmouseout=function(){

timer=setInterval(function(){

next.onclick();

},2000);

}

</script>

</head>

<body>

<div id="container">

<div id="list" syle="left:-500px">

<img src="5.jpg">

<img src="1.jpg">

<img src="2.jpg">

<img src="3.jpg">

<img src="4.jpg">

<img src="5.jpg">

<img src="1.jpg">

</div>

<div id="prev"><span></span></div>

<div id="next"><span></span></div>

<div id="buttons">

<a href="javascript:;" class="on"></a>

<a href="javascript:;"></a>

<a href="javascript:;"></a>

<a href="javascript:;"></a>

<a href="javascript:;"></a>

</div>

</div>

</body>

</html>

 
 
 

js-组件-轮播的更多相关文章

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

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

  2. 原生js焦点轮播图

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

  3. 原生js实现轮播图

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

  4. js实现轮播图效果&lpar;附源码&rpar;--原生js的应用

    1.js实现轮播图效果 <!DOCTYPE html><html lang="en"><head> <meta charset=&quot ...

  5. js编写轮播图,广告弹框

    1.轮播图 js编写轮播图,需要用到setInterval(计时器):先给一个div,里面放轮播图的图片,将轮播图的图片明明为相同样式的:如:banner1.jpg,banner2.jpg,banne ...

  6. js原生轮播

    js原生轮播 今天用js做了轮播图,做的不怎么好,希望大家能够看懂. 效果: 1.鼠标放在轮播图上自动停止 2.鼠标离开轮播图自动播放 3.鼠标点击轮播图上的小圆点跳转到相应的图上. 代码: < ...

  7. js实现轮播图

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

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

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

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

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

  10. vue 组件轮播联动

    组件轮播联动我使用的是 el-carousel 组件,具体代码如下: <el-carousel trigger="click" :interval="3000&qu ...

随机推荐

  1. Jekyll 安装权限问题 ERROR&colon; While executing gem &period;&period;&period; &lpar;Errno&colon;&colon;EPERM&rpar; Operation not permitted - &sol;usr&sol;bin&sol;jekyll

    OS X El Capitan 新特性(System Integrity Protection or SIP)中加强了权限,但是可以对这里进行操作 /usr/local/bin 可以尝试使用以下指令进 ...

  2. Selenium 2&period;0 &plus; Java 入门之环境搭建

    最近在研究Java+Selenium的自动化测试,网上的资料比较多,自己测试实践后,整理出来一套相对比较完善的环境资料,因为网上很多下载实践的过程中,发现出现了很多不匹配的问题,什么jdk和eclip ...

  3. Weka – 分类

    1.      weka简单介绍 1)  weka是新西兰怀卡托大学WEKA小组用JAVA开发的机器学习/数据挖掘开源软件. 2)  相关资源链接 http://sourceforge.net/pro ...

  4. 【转】CentOS 使用yum命令安装出现错误提示&rdquo&semi;could not retrieve mirrorlist http&colon;&sol;&sol;mirrorlist&period;centos&period;org &ast;&ast;&ast;&rdquo&semi;

    源自:http://www.cnblogs.com/yangbingqi/p/3328610.html 刚安装完CentOS,使用yum命令安装一些常用的软件,使用如下命令:yum grouplist ...

  5. jmeter参数化之CSV Data Set Config

    在jmeter中,可以用CSV Data Set Config实现参数化. 1.准备参数化数据

  6. quartz定时格式配置以及JS验证

    一个Cron-表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,如下: ---------------------------------------------- ...

  7. SAP 月结F&period;19与GR&sol;IR

    http://blog.sina.com.cn/s/blog_3eeba40101008v75.html 为什么要做月结?月结究竟都结些啥? 月结的目的和手段都不知道,只知道一部分.月结,为了出资产负 ...

  8. display的属性值测试

    由于在学习CSS的display的属性值只针对block.inline.inline-block和flex进行过了解,并且自己观察得知列表中li的display属性是list-item,而想要触发BF ...

  9. openlayers4 入门开发系列之地图空间查询篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  10. &lbrack;React&rsqb; 01 - Intro&colon; javaScript library for building user interfaces

    教学视频: http://www.php.cn/code/8217.html React 教程: http://www.runoob.com/react/react-tutorial.html 本篇是 ...