常见JS效果之图片减速度滚动实现代码_Javascript教程-查字典教程网
常见JS效果之图片减速度滚动实现代码
常见JS效果之图片减速度滚动实现代码
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:图片减速度滚动(byrentj1@163.com;)ul{margin:0;padding:0}ul{list-style...

复制代码 代码如下:

<!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 id="container">

<ul id="content">

<li>

<img src="http://img14.360buyimg.com/n4/4587/cd8a8a76-24f4-44d8-876b-12d78cbae588.jpg" />

<div>

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

</div>

<span>会员价:¥288.00</span>

</li>

<li>

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

<div>

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

</div>

<span>会员价:¥288.00</span>

</li>

<li>

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

<div>

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

</div>

<span>会员价:¥288.00</span>

</li>

<li>

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

<div>

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

</div>

<span>会员价:¥288.00</span>

</li>

<li>

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

<div>

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

</div>

<span>会员价:¥288.00</span>

</li>

<li>

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

<div>

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

</div>

<span>会员价:¥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>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类