用原生JS写的轮播效果,怎么让它有滑动的效果,不是直接切换

JavaScript032

用原生JS写的轮播效果,怎么让它有滑动的效果,不是直接切换,第1张

如果是朝左翻页,就把当前页朝左偏移100%的宽度,让下一页同样朝左偏移100%宽度。以下是代码部分:

<html><head lang="en"><meta charset="UTF-8"><title></title><style>.banner{ width:300pxheight:250pxposition: relativez-index: 100background: skybluemargin:100px autooverflow:hidden } .banner .first{ left:0} .banner a{ width: 100%height: 100%position: absolutedisplay:blocktop:0left:100%} .banner a img{ width: 100%height: 100%} .banner .pre{ position: absoluteleft:0top:120pxbackground: graywidth:30pxheight:30pxborder-radius: 30pxline-height: 30pxtext-align: centeropacity: 0.4z-index: 1000cursor: pointer} .banner .next{ position: absoluteright:0top:120pxbackground: graywidth:30pxheight:30pxborder-radius: 30pxline-height: 30pxtext-align: centeropacity: 0.4z-index: 1000cursor: pointer} .

如下代码可以实现,不过你首先需要引用Jquery,我使用的是jquery-1.7.1.min.js

支持两个div或多个div的淡入淡出切换:

<div id="imgbox">

    <div style="width:100pxheight:100pxbackground-color:red"></div>

    <div style="width:100pxheight:100pxbackground-color:blue"></div>

</div>

<script src="jquery-1.7.1.min.js"></script>

<script>

$(document).ready(function(){

    $("#imgbox div").fadeOut(0).eq(0).fadeIn(0)

    var i = 0

    setInterval(function(){

        if($("#imgbox div").length > (i+1)){

            $("#imgbox div").eq(i).fadeOut(0).next("div").fadeIn(1000)

            i++

        }

        else{

            $("#imgbox div").eq(i).fadeOut(0).siblings("div").eq(0).fadeIn(1000)

            i = 0

        }

    },2000)

})

</script>