轮播图效果

没有鼠标事件时,图片一张一张切换显示,下面有相应的图片角标切换,当鼠标移到哪个角标上时,切换到那张图片上,不再切换,鼠标移出,再次切换。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>轮播效果</title>
    <style type="text/css">
    #div1{
        width:730px;
        height:454px;
        background: 1px solid blue;
        margin:0 auto;
        position: relative;
    }
    #div1 img{
        position: absolute;
        display: none;

    }
    #div1 img.cur{
        display:block;
    }
    #div1 ul{
        position: absolute;
        right:0px;
        top:400px;
    }
    #div1 ul li{
        float: left;
        list-style: none;
        background: #3E3E3E;
        width:25px;
        height: 25px;
        line-height: 25px;
        text-align: center;
        color:white;
        margin-right:10px;
        border-radius: 12px;
    }
    #div1 ul .cur{
        background:#B61B1F;
    }
    </style>
<script type="text/javascript">
window.onload=function(){
    var oDiv=document.getElementById(‘div1‘);//获得div1元素
    var aimg=oDiv.getElementsByTagName(‘img‘);//获得img元素
    var ali=oDiv.getElementsByTagName(‘li‘);//获得li标签
    var index=0;//定义全局变量,记录切换样式的角标
    function qiehuan(){//切换图片的方法
        index++;//角标加1
        if(index==6){//如果角标为6,直接变成0,因为有6张图片,最大角标为5
            index=0;
        }
        for(var i=0;i<aimg.length;i++){//将所有图片的class去掉,全部不显示
            aimg[i].className=‘‘;

        }
        aimg[index].className=‘cur‘;//根据角标依次添加cur属性,依次显示
        for(var i=0;i<ali.length;i++){//将所有li的class都去掉,都不显示
            ali[i].className=‘‘;

        }
        ali[index].className=‘cur‘;//根据角标依次添加cur属性,依次显示
    }
    var timer=setInterval(qiehuan,1000);//定义定时器,每1秒切换一张图片
    for(var i=0;i<ali.length;i++){//for循环,添加事件
        ali[i].onmouseover=function(e){//鼠标移入li事件
            clearInterval(timer);//关闭定时器
            var ev=e||window.event;
            var curo=ev.srcElement||ev.target;//获得事件对象,
            for(var j=0;j<ali.length;j++){
                if(ali[j]==curo){
                    index=j;//鼠标移到哪个li标签上,将角标赋给index
                }
            }
            for(var i=0;i<aimg.length;i++){//同上,让相应的图片显示
                aimg[i].className=‘‘;

            }
            aimg[index].className=‘cur‘;
            for(var i=0;i<ali.length;i++){//让相应的li变样式
                ali[i].className=‘‘;

            }
            ali[index].className=‘cur‘;
        }
        ali[i].onmouseout=function(){//鼠标移出,重新开定时器
            timer=setInterval(qiehuan,1000);
        }
    }

}
</script>

</head>
<body>
    <div id="div1">
        <img class="cur" src="1.jpg" alt="第一张">
        <img src="2.jpg" alt="第二张">
        <img src="3.jpg" alt="第三张">
        <img src="4.jpg" alt="第四张">
        <img src="5.jpg" alt="第五张">
        <img src="6.jpg" alt="第六张">
        <ul>
            <li class="cur">1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
        </ul>

    </div>
</body>
</html>
时间: 2024-10-07 23:44:03

轮播图效果的相关文章

js实现轮播图效果(附源码)--原生js的应用

1.js实现轮播图效果 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="Author" content="奇客艺术"> <meta name="keyword" content="关键字"> <meta name=

【学习ios之路:UI系列】实现轮播图效果(UIImageView,UIScrollView,UIPageControl,NSTimer相结合)

实现效果,在不点击的情况下,自定滚动,点击时,停止.如下图 部分代码如下: //调用NSTimer方法,自定计时 - (void)autoScroll { self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self  selector:@selector(scrollToRight) userInfo:nil repeats:YES]; } //实现触发方法 - (void)scrollToRight { [UIVie

AngularJS:实现轮播图效果

要实现这个功能,可以https://github.com/sroze/ngInfiniteScroll这个第三方控件实现的.实现步骤如下: 1. 下载ng-infinite-scroll.js程序http://sroze.github.io/ngInfiniteScroll/ 目前版本是1.0.0 2. 如果你是用的jQuery2.0以上版本,还需要修改ng-infinite-scroll.js程序,将所有的将所有的$window.xxx改为$(window).xxx, elem.xxx改为$(

Html5如何快速在页面中写出多个轮播图效果

我们在做项目的过程中,有时候客户需求要求你在同一个页面中,写几个不同样式的轮播图效果,那么如何快速实现呢?(要知道若果你每个轮播图都要用原生javascript写的话,会很麻烦,代码也不够简洁) 这里我们就可以借助插件来实现这一功能,swiper.js就是一个专门处理轮播图效果的js库,下面举例来说明: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&g

花瓣网轮播图效果

没有加上定时器效果,仅仅能手动进行图片的切换 效果图: index.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>index</title> &

实现比较简单的轮播图效果

实现简单的轮播图效果. 废话不多说,我们开始. HTML和CSS较为简单,不在这里做赘述.简单的给大家一个HTML代码. <div class="carousel"> <div id="goLeft"></div> <ul> <li><img src="" /></li> <li><img src="" /></l

JS学习笔记--轮播图效果

希望通过自己的学习收获哪怕收获一点点,进步一点点都是值得的,加油吧!!! 本章知识点:index this for if else 下边我分享下通过老师教的方式写的轮播图,基础知识实现: 1.css代码 <style> ul, ol { padding:0; margin:0; } li { list-style:none; } #box { width:600px; height:350px; border:10px solid #ccc; margin:0 auto; position:r

模仿轮播图效果

<!doctype html><html lang="zh"><head> <meta charset="UTF-8"> <title>手写轮播图效果</title> <style> #imgsDiv{position: relative;height: 400px;} .picDiv{ position: absolute; top:0; left:0; width:100%; h

JQuery教程:实现轮播图效果

轮播图说起来非常简单,就是几张图片一直不停的轮流播放,但是要想写好代码,也要考虑下性能问题,下面我们来简单的实现一下. 首先,页面代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link rel="stylesheet" type="text/css" href=&q

原生JS实现 ‘Tab栏切换’,‘手风琴’,‘轮播图’效果

1.小天使跟随鼠标效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatib