怎么用html5+css3 实现图片轮播

html-css07

怎么用html5+css3 实现图片轮播,第1张

1、首先我们创建一个简单的项目,如图所示包括html,css和img三个。

2、这里是html文件,引入css和html代码文件,如图所示。

3、这里是css文件代码,上面是div和图片显示的效果代码,后面是动画效果。

4、这里是事件,这里定义了四个时间段的状态,兼容了ie的。

5、如图所示这里是效果图,会根据时间轮播显示下一张图片 了。

img 不要用浮动

简单点的做法就是 把 img 也设置为 position:absolutetop:0width:100%height:100%

left先不设置 然后用js判断有几个 img 给个循环 js代码大概如下:

//js部分

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

    //动态设置img的left

    //js

    img.style.left = (i*200)+"px"

}

//补充: 在循环结束后 要设置 #1的width属性为 img.length*200

之后的轮播可以 就改变 #1这个div的 left 属性 每次都是 一张图片的大小 200px 当然应该设置的是 -200px

最好是可以给一个计数器, 现在显示的是第几张图片,再判断如果是最后一张 下一次轮播就播放第一张 也就是 #1 的left = 0

如果不太明白 可以设置 #k的overflow:auto 来看效果。

做了个例子给你参考一下:

<!DOCTYPE>

<html>

<head>

    <title></title>

    <style type="text/css">

        #k{width:200px height:280px position:relative border:solid 1px #cccbackground-color:#eee overflow:hidden}

        #img_box{position:absolute top:0left:0}

        #img_box img{width:200pxheight:280px position:absolute top:0}

    </style>

    <script type="text/javascript">

        function Onload() {

            var imgs = document.getElementsByTagName("img")

            img_box.style.width = (imgs.length * 200) + "px"

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

                imgs[i].style.left = (i * 200) + "px"

            }

        }

    </script>

</head>

<body onload="Onload()">

    <div id="k">

        <div id="img_box" class="a">

            <img src="" alt="图片1" style="background-color:Red" />

            <img src="" alt="图片2" style="background-color:Blue" />

            <img src="" alt="图片3" style="background-color:Green" />

            <img src="" alt="图片4" style="background-color:Yellow" />

        </div>

    </div>

</body>

</html>

<div class="J_TWidget mypoper" data-widget-config="{'effect': 'fade','circular': true ,'contentCls':'sj-t','navCls':'sj-n','autoplay':'true'}" data-widget-type="Tabs" style="padding-bottom:0pxmargin:0pxpadding-left:0pxpadding-right:0pxheight:600pxoverflow:hiddenpadding-top:0px">

<div class="sj-t">

<div class="J_TWidget" data-widget-config="{'contentCls': 'sj-content','navCls': 'sj-n','triggerType': 'click','effect': 'fade','steps': 1,'autoplay': true,'circular': true ,'prevBtnCls':'prev','nextBtnCls':'next'}" data-widget-type="Carousel">

<div class="pa2">

<div class="J_TWidget" data-widget-config="{'trigger':'.sj-content', 'align':{'node':'.mypoper', 'offset':[0,0], 'points':['cl','cl'] } }" data-widget-type="Popup" style="width:950pxdisplay:none">

<div class="ks-contentbox" style="padding-bottom:0pxmargin:0pxpadding-left:0pxwidth:950pxpadding-right:0pxpadding-top:0pxleft:0px">

<div class="prev" style="float:leftmargin-left:50px">

<img class="J_TWidget" data-ks-lazyload="" data-widget-config="{'png':true,'png_tag':true}" data-widget-type="Compatible" style="height:1pxwidth:1px" /></div>

<div class="next" style="float:rightmargin-right:50px">

<img class="J_TWidget" data-ks-lazyload="" data-widget-config="{'png':true,'png_tag':true}" data-widget-type="Compatible" style="height:1pxwidth:1px" /></div>

</div>

</div>

<ul class="sj-content" style="padding-bottom:0pxmargin:0pxpadding-left:0pxwidth:1440pxpadding-right:0pxheight:600pxoverflow:hiddenpadding-top:0px">

<li style="padding-bottom:0pxlist-style-type:nonemargin:0pxpadding-left:0pxwidth:1440pxpadding-right:0pxheight:600pxpadding-top:0pxleft:-250px">

<a target="_blank"><img data-ks-lazyload="

图片地址" /></a></li>

<li style="padding-bottom:0pxlist-style-type:nonemargin:0pxpadding-left:0pxwidth:440pxpadding-right:0pxheight:600pxpadding-top:0pxleft:-250px">

<a target="_blank"><img data-ks-lazyload="

图片地址" /></a></li>

</ul>

</div>

<div style="width:1920pxdisplay:noneheight:0pxoverflow:hidden">

<ul class="sj-t" style="padding-bottom:0pxmargin:0pxpadding-left:0pxwidth:1440pxpadding-right:0pxheight:50pxpadding-top:0px">

<li style="padding-bottom:0pxlist-style-type:nonemargin:0pxpadding-left:0pxwidth:315pxpadding-right:0pxbackground:blackfloat:leftheight:600pxpadding-top:0px">

</li>

<li style="padding-bottom:0pxlist-style-type:nonemargin:0pxpadding-left:0pxwidth:315pxpadding-right:0pxbackground:#F8Cfloat:leftheight:8600pxpadding-top:0px">

</li>

</ul>

</div>

<ul class="sj-n" style="padding-bottom:0pxmargin:0pxpadding-left:0pxpadding-right:0pxdisplay:noneheight:1pxpadding-top:0px">

单词解释: width:1440px 这个是图片宽度,亲们可以自己设置多少。

height:600px 这个是图片高度,也是亲们自己设置。

left:-250px 这个是水平位置,图片插入进去没居中的,亲们就慢慢增加或者减少数字,就可以调到居中的哈。有什么问题再密我。