zoukankan      html  css  js  c++  java
  • jQuery 的一个自动向上翻页的效果

      jQuery效果的制作还是相对与JS来所容易简便得多,今天分享的制作的一个jQuery效果是图片 自动向上翻页的一个特效,这特效对于商城来说还是比较常见的下面是代码:

    <!DOCTYPE html>
    <html>
    <head>
        <title>upDown1</title>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
        <style type="text/css">
    
            * { margin:0; padding:0;}
            ul, li { list-style:none;}
            body{
                text-align:center;
            }
            .play{
                width:400px;
                height:80px;
                position:relative;
                overflow:hidden;
                background:#DDD;
                margin:10px 0;
            }
            .playimg{
                width:400px;
                height:80px;
                background:red;
                position:absolute;
            }
            .playimg li{
                height:80px;
                background:green;
                margin:5px 0;
                overflow:hidden;
            }
            .playimg img{
                width:80px;
                height:80px;
            }
    
        </style>
    </head>
    <body>
    <script type="text/javascript">
        function $(id){return document.getElementsByClassName(id)}
        function moveElement(elementID,n,final_x,final_y,interval) {
            if (!document.getElementsByClassName) return false;
            if (!document.getElementsByClassName(elementID)) return false;
            var elem = document.getElementsByClassName(elementID)[n];
            if (elem.movement) {
                clearTimeout(elem.movement);
            }
            if (!elem.style.left) {
                elem.style.left = "0px";
            }
            if (!elem.style.top) {
                elem.style.top = "0px";
            }
            var xpos = parseInt(elem.style.left);
            var ypos = parseInt(elem.style.top);
            if (xpos == final_x && ypos == final_y) {
                return true;
            }
            if (xpos < final_x) {
                var dist = Math.ceil((final_x - xpos)/10);
                xpos = xpos + dist;
            }
            if (xpos > final_x) {
                var dist = Math.ceil((xpos - final_x)/10);
                xpos = xpos - dist;
            }
            if (ypos < final_y) {
                var dist = Math.ceil((final_y - ypos)/10);
                //ypos = dist + ypos; //往下切换回第一张
                ypos = dist - ypos; //往上切换回第一张
            }
            if (ypos > final_y) {
                var dist = Math.ceil((ypos - final_y)/10);
                ypos = ypos - dist;
            }
    
            elem.style.left = xpos + "px";
            elem.style.top = ypos + "px";
            var repeat = "moveElement('"+elementID+"',"+n+","+final_x+","+final_y+","+interval+")";
            elem.movement = setTimeout(repeat,interval);
        }
        function imgChange(num,n){//切换内容
            if(!$('play')) return false;
            var piclist=$('playimg')[n].getElementsByTagName('img');
            var imgheight=piclist[0].offsetHeight;
            var moveY=-(imgheight*num);
    
            moveElement('playimg',n,0,moveY,5);
        }
        function classToggle(arr,n){//切换当前样式Class
            for(var i=0;i<arr.length;i++){
                arr[i].className='';
            }
            arr[n].className='current';
        }
    
        function autoChange(btns){
            if(!$(btns)) return false;
            if(!autokey) return false;
    
            for(var j=0;j<$(btns).length;j++){
                var arr=$(btns)[j].getElementsByTagName('li');
    
                for(var i=0;i<arr.length;i++){
                    if(arr[i].className=='current'){
                        var n=i+1;
                    }
                }
                if(n>=arr.length) n=0;
                classToggle(arr,n);
                imgChange(n,j);
            }
        }
    
        var autokey = true;
        setInterval("autoChange('playimg')",3000);
    
    </script>
    <div class="play">
        <ul class="playimg">
            <li class="current"><img  alt="" src="./public/img/1.jpg" />11111111</li>
            <li><img  alt="" src="./public/img/1.jpg" />222222222</li>
        </ul>
    </div>
    
    
    <div class="play">
        <ul class="playimg">
            <li class="current"><img  alt="" src="./public/img/1.jpg" />11111111</li>
            <li><img  alt="" src="./public/img/1.jpg" />222222222</li>
            <li><img  alt="" src="./public/img/2.jpg" />333333333</li>
        </ul>
    </div>
    
    <div class="play">
        <ul class="playimg">
            <li class="current"><img  alt="" src="./public/img/1.jpg" />11111111</li>
            <li><img  alt="" src="./public/img/1.jpg" />222222222</li>
            <li><img  alt="" src="./public/img/1.jpg" />333333333</li>
            <li><img  alt="" src="./public/img/1.jpg" />444444444</li>
        </ul>
    </div>
    
    </body>
    </html>
  • 相关阅读:
    752.打开转盘锁
    733. 图像渲染
    704.二分查找
    leetcode 87 Scramble String
    找实习总结
    leetcode 44 Wildcard Matching
    Linux,网络编程接口记录
    leetcode 172 Factorial Trailing Zeroes
    leetcode 168 Excel Sheet Column Title
    leetcode 65 Valid Number
  • 原文地址:https://www.cnblogs.com/wangjunjunjiayuan/p/4735179.html
Copyright © 2011-2022 走看看