>웹 프론트엔드 >JS 튜토리얼 >일반적인 JS 효과를 위한 이미지 감속 스크롤 구현 코드_이미지 특수 효과

일반적인 JS 효과를 위한 이미지 감속 스크롤 구현 코드_이미지 특수 효과

WBOY
WBOY원래의
2016-05-16 17:58:27976검색
코드 복사 코드는 다음과 같습니다.





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








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

    会员价:¥288.00




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

    会员价:¥288.00




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

    会员价:¥288.00




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

    会员价:¥288.00




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

    会员价:¥288.00




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

    会员价:¥288.00



<스크립트>
untils = {
getComputeStyle: function(elem,syle){
var ComputedStyle = document.defaultView
&& document.defaultView.getComputeStyle
&& document.defaultView.getCompulatedStyle(elem,null) ;
if(!computedStyle){
computedStyle = elem.currentStyle
}
return ComputedStyle[syle]
},
setStyle: function(elem, name,val){
elem.style[이름] = 발;
},
get: function(id){
document.getElementById(id)
}
}
function ScrollSlider(container, content){
var clone = content .cloneNode(참);
var initcss= "왼쪽:0; 위쪽:0";
var contentHeight = content.offsetHeight;
var 컨테이너 높이 = 컨테이너.클라이언트 높이;
clone.id = "콘텐츠-클론";
container.appendChild(복제);
clone.setAttribute("cssText", initcss);
content.setAttribute("cssText", initcss);
clone.style.marginTop = contentHeight "px";
this.content = 내용;
this.clone = 클론;
this.container = 컨테이너;
this.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.getCompulatedStyle(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);
},
이동: 함수(marginTop, offsetTop){
var s = this.containerHeight, s1 = 0, _this = this, m = 0;
var 타이머 = setInterval(function(){
var 속도 = (s-s1)/8;
speed = 속도 > 0 ? Math.ceil(speed) : Math.floor(speed);
s1 = 속도;
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 컨테이너 = document.getElementById("컨테이너")
var content = document.getElementById("content")
var xx = new ScrollSlider(컨테이너, 컨텐츠);
xx.start(1000*3);
/*
//s=1/2 * at^2
//s(att)/2
//00,-164,-328,164 ,0
328,164,0,-164,-328,164,0
*/



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.