banner图效果

本文详细介绍了如何使用CSS和JavaScript实现一个动态轮播图效果,包括图片的无缝滚动、定时器控制及动画平滑过渡等关键技术点。
* {
                margin:0px;
                padding:0px;
            }
            #ul1 li {
                list-style: none;
                width:200px;
                height:200px;
                margin:10px;
                float:left;
            }
            #ul1 li img {
                width:100%;
                height:100%;
            }
            #ul1 {
                position: absolute;
                left:0px;
            }
            #div1 {
                width:880px;
                height:220px;
                border:1px solid black;
                margin: 50px auto;
                position: relative;
                overflow: hidden;
            }

在这里插入图片描述

window.onload = function(){
                var oUl1 = document.getElementById("ul1");
                var oDiv1 = document.getElementById("div1");

                /*
                  直接把这四张图片再添加到末尾
                */

                oUl1.innerHTML += oUl1.innerHTML;

                //重新设置一下ul的宽
                oUl1.style.width = 220 * 8 + "px";

                setInterval(function(){
                    //让ul向左运动一个图片宽
                    starMove(oUl1,{
                        left:oUl1.offsetLeft - 220
                    },function(){
                        if(oUl1.offsetLeft <= -oUl1.offsetWidth / 2){
                            oUl1.style.left = "0px";
                        }
                    });
                },2000);

            }

startMove.js

//样式框架
function starMove(node,cssObj,complete){
    clearInterval(node.timer);
    node.timer = setInterval(function(){
        var isEnd = true;//假设所有的动画都达到目的值了
        for(var attr in cssObj)
        {
            var iTarget = cssObj[attr];
            //计算速度
        if(attr=="opacity"){
            iCur = parseInt(parseFloat(getStyle(node,"opacity"))*100);
        }else{
            iCur = parseInt(getStyle(node,attr));
        }
        var speed = (iTarget - iCur) / 8;
        speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
        
        if(attr=="opacity"){
            iCur += speed;
            node.style.opacity = iCur / 100;
            node.style.filter = "alpha(opacity=" + iCur +")"
        }else{
        node.style[attr] = iCur + speed + "px";
        }

        if(iCur != iTarget){
            isEnd = false;
        }

        }
        if(isEnd){
            clearInterval(node.timer);
            if(complete){
                complete.call(node);
            }
        }
        
        
    },30);

}
//获取当前有效样式浏览器兼容写法
function getStyle(node,cssStr){
    return node.currentStyle ? node.currentStyle[cssStr]:getComputedStyle(node)[cssStr];
}

在这里插入图片描述

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <html lang="en"> <head> <title>Nivo Slider Demo</title> <link rel="stylesheet" href="images/themes/default/default.css" type="text/css" media="screen" /> <link rel="stylesheet" href="images/themes/pascal/pascal.css" type="text/css" media="screen" /> <link rel="stylesheet" href="images/themes/orman/orman.css" type="text/css" media="screen" /> <link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" /> <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" /> </head> <body> <div id="wrapper"> <a href="http://dev7studios.com" id="dev7link" title="Go to dev7studios">dev7studios</a> <div class="slider-wrapper theme-default"> <div class="ribbon"></div> <div id="slider" class="nivoSlider"> <img src="images/toystory.jpg" alt="" /> <a href="http://dev7studios.com"><img src="images/up.jpg" alt="" title="This is an example of a caption" /></a> <img src="images/walle.jpg" alt="" /> <img src="images/nemo.jpg" alt="" title="#htmlcaption" /> </div> <div id="htmlcaption" class="nivo-html-caption"> <strong>This</strong> is an example of a HTML caption with <a href="#">a link</a>. </div> </div> </div> <script type="text/javascript" src="js/jquery-1.6.1.min.js"></script> <script type="text/javascript" src="js/jquery.nivo.slider.pack.js"></script> <script type="text/javascript"> $(window).load(function() { $('#slider').nivoSlider(); }); </script> </body> </html>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值