JS循环显示图片

以下只作为自己的笔迹记录

 

<!DOCTYPE html>

<html>

<head>

<meta charset="gb2312" />

<title>图片减速度滚动(by rentj1@163.com;)</title>

<style>

ul{ margin:0; padding:0}

ul{ list-style:none;}

body{font:12px/1.2 "宋体"; }

 

.scroll_box{ position:relative; height:164px; width:766px; border:1px solid #efefef; overflow:hidden;}

.scroll_box .list{ overflow:hidden; zoom:1; position:absolute;}

.scroll_box .list li{ width:235px; height:164px; padding:0 10px;  text-align:center; float:left;}

.scroll_box .list .info{ line-height:1.5}

 

</style>

</head>

 

<body>

 

<div class="scroll_box" id="container">

    <ul class="list" id="content">

        <li>

            <img src="D:\Pictrue\蒲公英\1.jpg" /> 

                <div class="info">

                兵尼兔 环保大包围专车专用脚垫 米色(专车专用,仅支持在线支付)版型精准 大包围

                </div>

                <span class="price">会员价:¥288.00</span>

        </li>

 

        <li>

            <img src="http://img11.360buyimg.com/n4/309/9230eaef-021c-447d-a64b-51ce698822ef.jpg" />  

                <div class="info">

                兵尼兔 环保大包围专车专用脚垫 米色(专车专用,仅支持在线支付)版型精准 大包围

                </div>

                <span class="price">会员价:¥288.00</span>

        </li>

 

        <li>

            <img src="http://img10.360buyimg.com/n4/8792/7691b514-a0b3-469e-8a2b-37b219ebc490.jpg" /> 

                <div class="info">

                兵尼兔 环保大包围专车专用脚垫 米色(专车专用,仅支持在线支付)版型精准 大包围

                </div>

                <span class="price">会员价:¥288.00</span>

        </li>

 

        <li>

            <img src="http://img12.360buyimg.com/n4/285/c675cbb0-3a6f-4703-95fb-e75a7c90b48e.jpg" /> 

                <div class="info">

                兵尼兔 环保大包围专车专用脚垫 米色(专车专用,仅支持在线支付)版型精准 大包围

                </div>

                <span class="price">会员价:¥288.00</span>

        </li>

 

        <li>

            <img src="http://img12.360buyimg.com/n4/1957/22aa7c6d-4b70-49b8-a985-678b1d0e3781.jpg" /> 

                <div class="info">

                兵尼兔 环保大包围专车专用脚垫 米色(专车专用,仅支持在线支付)版型精准 大包围

                </div>

                <span class="price">会员价:¥288.00</span>

        </li>

 

        <li>

            <img src="http://img10.360buyimg.com/n4/2314/cf09b35a-eb6d-4a4f-a4dd-3301bfafef99.jpg" /> 

                <div class="info">

                兵尼兔 环保大包围专车专用脚垫 米色(专车专用,仅支持在线支付)版型精准 大包围

                </div>

                <span class="price">会员价:¥288.00</span>

        </li>

    </ul>

</div>

 

<script>

untils = {

 

     getComputedStyle: function(elem,syle){

            var computedStyle = document.defaultView 

                && document.defaultView.getComputedStyle

                && document.defaultView.getComputedStyle(elem,null);

 

             if(!computedStyle){

                computedStyle = elem.currentStyle

            }

            return computedStyle[syle]

     },

 

    setStyle: function(elem, name,val){

        elem.style[name] = val;

    },

 

    get: function(id){

        document.getElementById(id)

    }

}

 

function ScrollSlider(container, content){

    var clone = content.cloneNode(true);

    var initcss=  "left:0; top:0";

    var contentHeight = content.offsetHeight;

    var containerHeight = container.clientHeight;

    clone.id = "content-clone";

    container.appendChild(clone);

    clone.setAttribute("cssText", initcss);

    content.setAttribute("cssText", initcss);

    clone.style.marginTop = contentHeight+"px";

 

 

    this.content = content;

    this.clone = clone;

    this.container = container;

    this.containerHeight = containerHeight;

    this.contentHeight = contentHeight;

}

 

ScrollSlider.prototype = {

 

    start: function(delay){        

        var _this = this;

        clearInterval(_this.timer);

        _this.timer = setInterval(function(){

            _this.scroll();                    

        },delay);

    },

 

    scroll: function(){

 

        var marginTop = parseInt(untils.getComputedStyle(this.content, "marginTop"));

        var offsetTop = this.contentHeight;

        if(isNaN(marginTop))return;

 

        if( -marginTop >= this.contentHeight){

            marginTop = this.contentHeight;

 

        }

 

        if(marginTop > 0){

            offsetTop = -offsetTop;

        }

 

        this.move(marginTop, offsetTop);

 

    },

 

    move: function(marginTop, offsetTop){

        var s = this.containerHeight, s1 = 0, _this = this, m = 0;

        var timer = setInterval(function(){

            var speed = (s-s1)/8;

            speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);

            s1 += speed;

            m = marginTop - s1;

 

            untils.setStyle(_this.content, "marginTop", m + "px");

            untils.setStyle(_this.clone, "marginTop", (m + offsetTop)+"px");

            if(s-s1 <= 0){

                clearInterval(timer);

            }

 

        },30);

 

 

    }

};

 

var container = document.getElementById("container")

var content = document.getElementById("content")

var xx = new ScrollSlider(container, content);

xx.start(1000*3);

/*

//s=1/2 * at^2

 

//s (att)/2

//0<s<164

0,-164,-328,164,0

328,164,0,-164,-328,164,0

*/

</script>

</body>

</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值