javascript 实现图片轮播和点击切换功能

图片轮播是网页上一个比较常见的功能,下面我们来实现他吧

原理很简单:

1:固定的区域,所有的图片重叠,一次只能显示一张图片

2:通过改变图片的zIndex属性改变显示的图片,就可以达到切换的效果了

<!-- cycle_pic.html -->
<!DOCTYPE html>
<html>
<head>
    <title>cycle_pic</title>
    <meta charset="utf-8">
    <meta content="text/html" http-equiv="Content-Type">
    <style type="text/css">
        #slideshow_wrapper {
            POSITION: relative;
            PADDING-BOTTOM: 0px;
            BACKGROUND-COLOR: #121212;
            PADDING-LEFT: 0px;
            WIDTH: 650px;
            PADDING-RIGHT: 0px;
            HEIGHT: 400px;
            OVERFLOW: hidden;
            PADDING-TOP: 0px
        }
        #slideshow_footbar {
            Z-INDEX: 5;
            POSITION: absolute;
            FILTER: alpha(opacity=50);
            WIDTH: 100%;
            BOTTOM: 0px;
            HEIGHT: 30px;
            background-color: black;
            opacity:0.5;
        }
        #slideshow_photo {
            POSITION: absolute;
            WIDTH: 100%;
            HEIGHT: 100%;
            CURSOR: pointer
        }
        #slideshow_photo A {
            Z-INDEX: 1;
            BORDER-BOTTOM: 0px;
            POSITION: absolute;
            BORDER-LEFT: 0px;
            MARGIN: 0px;
            DISPLAY: block;
            BORDER-TOP: 0px;
            TOP: 0px;
            BORDER-RIGHT: 0px;
            LEFT: 0px
        }
        #slideshow_footbar .slideshow-bt {
            BACKGROUND-COLOR: #d2d3d4;
            MARGIN: 10px 10px 0px 0px;
            WIDTH: 10px;
            DISPLAY: inline;
            FLOAT: right;
            HEIGHT: 10px;
            FONT-SIZE: 0px
        }
        #slideshow_footbar .bt-on {
            BACKGROUND-COLOR: red;
        }
</style>
<script type="text/javascript" charset="utf-8">
    var curIndex=1;//初始换显示第一张
    function slideTo (index) {
        var index = parseInt(index);
        var pic = document.getElementById("slideshow_photo").childNodes;
        for(var i=0;i<pic.length;i++){//改变zIndex属性
            if(pic[i].attributes && pic[i].attributes[‘index‘] && parseInt(pic[i].attributes[‘index‘].value)==index){
                pic[i].style.zIndex=2;
                curIndex=index;
            }
            else if(pic[i].attributes && pic[i].attributes[‘index‘]) {
                pic[i].style.zIndex=1;
            }
        }
        var bts = document.getElementsByClassName("slideshow-bt");
        for(var i=0;i<bts.length;i++){//改变显示的效果
            if(parseInt(bts[i].attributes[‘index‘].value)==index){
                bts[i].className="slideshow-bt bt-on";
            }
            else bts[i].className = "slideshow-bt";
        }
    }
    window.onload = function  () {    //为按钮初始化onclick事件
        var bts = document.getElementsByClassName("slideshow-bt");
        for(var i=0;i<bts.length;i++){
            bts[i].onclick = function  () {
                slideTo(this.attributes[‘index‘].value);
            }
        }
    }
    setInterval(function  () {//循环切换
        if(curIndex+1>5) curIndex=0;
        slideTo(curIndex+1);
    },2000);
</script>
</head>
<body>
    <div id="slideshow_wrapper">
        <div id="slideshow_photo">
            <a href="#" title="" index="1"><img src="./num/1.jpg" width="650px;" alt="1" border="0px;"></a>
            <a href="#" title="" index="2"><img src="./num/2.jpg" width="650px;" alt="2" border="0px;"></a>
            <a href="#" title="" index="3"><img src="./num/3.jpg" width="650px;" alt="3" border="0px;"></a>
            <a href="#" title="" index="4"><img src="./num/4.jpg" width="650px;" alt="4" border="0px;"></a>
            <a href="#" title="" index="5"><img src="./num/5.jpg" width="650px;" alt="5" border="0px;"></a>
        </div>
        <div id="slideshow_footbar">
            <div class="slideshow-bt" index="5"></div>
            <div class="slideshow-bt" index="4"></div>
            <div class="slideshow-bt" index="3"></div>
            <div class="slideshow-bt" index="2"></div>
            <div class="slideshow-bt" index="1"></div>
        </div>
    </div>
</body>
</html>
时间: 2024-10-15 21:18:00

javascript 实现图片轮播和点击切换功能的相关文章

原生Javascript实现图片轮播效果

首先引入js运动框架 1 function getStyle(obj,name){ 2 if(obj.currentStyle){ 3 return obj.currentStyle[name]; 4 } else{ 5 return getComputedStyle(obj,false)[name]; 6 } 7 } 8 9 function startMove(obj, json, fnEnd) { 10 clearInterval(obj.timer); 11 obj.timer = se

css实现的轮播和点击切换(无js版)

.slide{ position: relative; margin:auto; width: 600px; height: 200px; text-align: center; font-family: Arial; color: #FFF; overflow: hidden; } .slide ul{ margin:10px 0; padding:0; width: 9999px; transition:all 0.5s; } /*//自动播放*/ .slide .slide-auto{ a

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

Javascript和jQuery WordPress 图片轮播插件, 内容滚动插件,前后切换幻灯片形式显示

用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美的图片轮播效果,希望这些插件能够帮助到你.Nivo Slider首先推荐的这款插件号称世界上最棒的图片轮播插件,有独立的 jQuery 插件和 WordPress 插件两个版本.目前下载量已经突破 1,800,000 次!jQuery 独立版本的插件主要有如下特色:? 16个独特的过渡效果? 简洁和有效的标记? 加载参数设置?

图片轮播(左右切换)--js原生和jquery实现

图片轮播(左右切换)--js原生和jquery实现 左右切换的做法基本步骤跟 上一篇文章  淡入淡出 类似,只不过修改了一些特定的部分 (1)首先是页面的结构部分 对于我这种左右切换式 1.首先是个外围部分(其实也就是最外边的整体wrapper) 2.接着就是你设置图片轮播的地方(也就是一个banner吧) 3.然后是一个图片组(可以用新的div 也可以直接使用 ul-->li形式) 4.然后是图片两端的左箭头和右箭头5.然后是一个透明背景层,放在图片底部 6.然后是一个图片描述info层,放在

js/jquery中实现图片轮播

一,jquery方法 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片轮播 jq(左右切换)</title> <style type="text/css">   body,div,ul,li,a,

原生js和jquery实现图片轮播

(1)首先是页面的结构部分 对于我这种左右切换式 1.首先是个外围部分(其实也就是最外边的整体wrapper) 2.接着就是你设置图片轮播的地方(也就是一个banner吧) 3.然后是一个图片组(可以用新的div 也可以直接使用 ul-->li形式) 4.然后是图片两端的左箭头和右箭头5.然后是一个透明背景层,放在图片底部 6.然后是一个图片描述info层,放在透明背景层的左下角(div 或 ul-->li) 7.然后是一个按钮层,用来定位图片组的index吧,放在透明背景层的右下角(div

原生js和jquery实现图片轮播特效

(1)首先是页面的结构部分 对于我这种左右切换式 1.首先是个外围部分(其实也就是最外边的整体wrapper) 2.接着就是你设置图片轮播的地方(也就是一个banner吧) 3.然后是一个图片组(可以用新的div 也可以直接使用 ul-->li形式) 4.然后是图片两端的左箭头和右箭头5.然后是一个透明背景层,放在图片底部 6.然后是一个图片描述info层,放在透明背景层的左下角(div 或 ul-->li) 7.然后是一个按钮层,用来定位图片组的index吧,放在透明背景层的右下角(div

升级版的图片轮播

上次博客写了写个图片轮播的效果感觉只是实现了功能,在扩展性有些问题:经过许久研究和借鉴,升级版的图片轮播面世了.相对来说功能和可拓展性都得到了极大地提升:而且封装的很好,直接调用函数并传参数就可以使用.废话少说,直接上源码. inde.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitiona