定时图片轮播图

先是HTML部分


<div id="alternate">

<ul class="img_list clear">
<li><a href="#"><img src="1.jpg" /></a></li>
<li><a href="#"><img src="2.jpg" /></a></li>
<li><a href="#"><img src="3.jpg" /></a></li>
<li><a href="#"><img src="4.jpg" /></a></li>
<li><a href="#"><img src="5.jpg" /></a></li>
</ul>
<a href="javascript:;" class="btn_left"></a>
<a href="javascript:;" class="btn_right"></a>
</div>

样式部分:


<style>
body,ul{padding:0;margin:0}
li{list-style:none;}

#alternate{
width:900px;
position:relative;
margin:30px auto;
overflow:hidden;
}

.btn_left{
width:60px;
height:60px;
position:absolute;
top:223px;
left:10px;
background:url(btn.gif) no-repeat;
opacity:0.3;
filter:alpha(opacity:30);
}
.btn_left:hover{
opacity:1;
filter:alpha(opacity:30);
}

.btn_right{
width:60px;
height:60px;
position:absolute;
top:223px;
right:10px;
background:url(btn.gif) no-repeat 0 -60px;
opacity:0.3;
filter:alpha(opacity:30);
}
.btn_right:hover{
opacity:1;
filter:alpha(opacity:30);
}

.img_list{
width:45000px;
position:relative;
left:0;
}
.img_list li{
float:left;
}

.clear:after{
clear:both;
display:block;
content:"";
height:0;
overflow:hidden;
visibility:hidden;
}

</style>

然后是JS方面:

先上一个通过CLASS来获取样式,前面的随笔文章当中有发布过:通过正则写一个较为完美的getByClass函数


    function getByClass(oParent,sClass){
var aChild = oParent.getElementsByTagName("*"),
result = [];
for(var i =0;i<aChild.length;i++){
if(aChild[i].className.match(new RegExp("(\\s|^)" + sClass+ "(\\s|$)"))){ //判断是否有该class
result.push(aChild[i]);
};
};
return result;
};

链接外部样式,可以参考 多用途运动框架


<script src="move.js"></script>

主体部分:


<script>
window.onload = function(){
var oUl = document.getElementById("alternate").getElementsByTagName("ul")[0];
var aLi = oUl.getElementsByTagName("li");
var aPrev = getByClass(document.getElementById("alternate"),"btn_left")[0];
var aNext = getByClass(document.getElementById("alternate"),"btn_right")[0];
var iNow = 0;
var timer;
//oUl.innerHTML += oUl.innerHTML;

oUl.style.width = aLi[0].offsetWidth * aLi.length + "px";

aNext.onclick = function(){
clearInterval(timer); //每次点击按钮的时候清楚定时器
if(iNow < aLi.length-1){
iNow++;
}else{
iNow = 0;
};
move(oUl,{left:-aLi[0].offsetWidth*iNow});
timer= setInterval(rollNext,3000); //运行完点击后的代码,才开始定时器,这样确保每次运动的间隔是一样的
};
aPrev.onclick = function(){
clearInterval(timer);
if(iNow !==0){
iNow--;
}else{
iNow = aLi.length-1;
};
move(oUl,{left:-aLi[0].offsetWidth*iNow});
timer= setInterval(rollNext,3000);
};

timer= setInterval(rollNext,3000);

function rollNext(){
if(iNow < aLi.length-1){
iNow++;
}else{
iNow = 0;
};
move(oUl,{left:-aLi[0].offsetWidth*iNow});
}

function getByClass(oParent,sClass){
var aChild = oParent.getElementsByTagName("*"),
result = [];
for(var i =0;i<aChild.length;i++){
if(aChild[i].className.match(new RegExp("(\\s|^)" + sClass+ "(\\s|$)"))){ //判断是否有该class
result.push(aChild[i]);
};
};
return result;
};
};

</script>

定时图片轮播图,布布扣,bubuko.com

时间: 2024-10-13 12:31:13

定时图片轮播图的相关文章

图片轮播图插件的使用 unslider!!!

1.百度图片轮播图unslider,第一个就会出现jquery unslider轮播图,点击进去,下载网站提供的文件,解压,内部有我们需要使用的各种js,图片等. 2.在自己的eclipse或者intellij idea中搭建一个可以正常运行的web工程 3.在WEB-INF下创建一个jsp文件夹,jsp文件夹下创建一个lunbo.jsp,颜色标记的代码是需要注意的!在WebRoot下创建js和img文件夹,存放js和所需要的图片. 页面的代码: <%@ page language="ja

js实现图片轮播图(一)

一.实现原理 (1)将所有图片放在一个父容器div里面,通过display属性来设置图片的出现与隐藏: (2)轮播图分为手动轮播和自动轮播: 手动轮播的重点是每次点击图片下方的小圆圈,获得它的索引号,并让与之对应索引号的图片显示,并且此时的小圆圈为高亮显示: 自动轮播:利用定时器setInterval(),来每隔一定的时间来播放一次图片. (3)所有的基础知识:dom操作,定时器,事件运用. 二.轮播图页面布局: <div id="content">   <!-- 总

图片轮播图插件

闲来无事,自己搞了一个图片轮播的jQuery插件,话不多说,直接上代码咯!!!!! 1.HTML模块的代码很简单.写一个容器就可以了,之后往里面加入图片轮播的效果 <div class="index-banner" id="banner"></div> 2.样式代码 1 .index-banner { 2 position: relative; 3 width:1280px; 4 height: 461px; 5 margin:0 auto;

关于图片轮播图的一个简单实例 以及实例中发现问题

1.最近在学习JS的过程中,为了巩固水平做了一个简单的轮播图,以及在做的过程中发现一些问题(未解决!希望可以有大佬可以解释这个问题)2.代码如下:<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title></title><style>*{margin: 0;padding: 0;}.wai{width: 100

安卓图片轮播图

最近自己根据领导要求app启动页面要放产品图片(以轮播的形式),方便用户查看,做了一个简单的demo,实现了基本图片轮播功能,亲测可用. csdn地址:https://download.csdn.net/download/qq_35702985/11545257 下面贴了几乎全部代码: MainActivity: String[] urls = getResources().getStringArray(R.array.url);List list = Arrays.asList(urls);i

js图片轮播图

/*焦点图*/        var Box='.carousel';//盒子        var Menu=$(Box+' .l_cursor li');//圆点菜单        var Con=$(Box+' .carouselChange li');//大图        var Text=$(Box+' .text li');//图注文字        var Prev=$(Box+' .Prev');//上一页        var Next=$(Box+' .next');//下

JavaScript实现图片轮播图

<!DOCTYPE html><html> <head> <script > var time; function init(){ //设置定时操作 time=setInterval("show()",0); //3秒执行一次 setInterval("show1()",1000); } var num=1; function show1(){ if(num>4){ num=1; } var imageObj=d

css3爆炸效果更换图片轮播图

思路:给一个div设置一个背景图片1.jpg,然后在这个div上面用两个for循环动态的创建一个列数为C行数为R数量的span,并给这些span设置宽高.定位并设置背景图片0.jpg,然后设置每个span的background-position,使这组span平铺在div上.当点击div时换图,换图的实现方法是循环每个span,以div的宽度的中线为定位线,让这组span随机进行transform,然后在结束的时候让span的透明度变为透明,并且瞬间拉回全部span到原始位置并更换span和di

Android——ViewPager和内部view之间的事件分发及轮播图

viewpager 在滑动的过程中是如何触发view身上的事件的,换句话说,viewpager在滑动的过程中到底是滑动的它里面的view,还是滑动的viewpager本身? 一.示例代码: 1.自定义ViewPager:MyViewPager,重新dispatchTouchEvent方法,添加一些事件处理的log信息. package com.example.viewpagerdemo; import android.content.Context; import android.support