// 제작자 : 아스피린 // 제작자 블로그 : http://cleanup.tistory.com // 소스 주소 : http://cleanup.tistory.com/8 // 자유롭게 사용 가능하시며, 소스 주소로 오셔서 댓글로 평가만 남겨 주세요 function GoodsScroll() { this.Name = "GScroll"; this.GoodsName = "Goods_Scroll"; this.Speed = 70; this.GoodsSetTime = null; this.LiBox_Num = 1; // 한번에 스크롤할 상품 갯수 this.LiBox_HiddenNum = 1; // 한번에 노출할 상품 갯수 this.GoodsSetting(); // 초기값 this.DivSize(); // 노출될 상품의 넓이 높이값 this.GoodlsArrange(); // 상품 순서대로 진열하기 this.doMove = function(state) { this.sState = state; if(this.sState == "next") { this._nextFrame(); } else if(this.sState == "prev") { this._prevFrame(); } } } GoodsScroll.prototype.GoodsSetting = function() { this.GoodsBox = document.getElementById(this.GoodsName); this.OlBox = this.GoodsBox.getElementsByTagName("ol")[0]; this.LiBox = this.OlBox.getElementsByTagName("li"); this.LiBox_Length = this.LiBox.length; // 상품의 총 갯수 this.LiBox_Width = this.LiBox.item(0).offsetWidth; // 상품 한개의 넓이 this.LiBox_Left = new Array(); // 각 상품의 위치값을 저장하는 배열 } GoodsScroll.prototype.DivSize = function() { this.DivBox = this.LiBox.item(0).getElementsByTagName("div"); this.DivBox_Height = 0; for ( var i=0; i < this.DivBox.length; i++ ) { this.DivBox_Height = this.DivBox_Height + this.DivBox.item(i).offsetHeight; } this.GoodsBox.style.height = this.DivBox_Height + 20 + "px"; this.GoodsBox.style.width = this.LiBox_Width * this.LiBox_HiddenNum + "px"; } GoodsScroll.prototype.GoodlsArrange = function() { this.Default_left = -(this.LiBox_Num * this.LiBox_Width); // 상품의 초기 위치값 for ( var i=0; i < this.LiBox_Length; i++ ) { this.LiBox_Left[i] = this.Default_left + ( i * this.LiBox_Width ); this.LiBox.item(i).style.left = this.LiBox_Left[i] + "px"; } this.Last_Left = this.LiBox_Left[this.LiBox_Length-1]; } GoodsScroll.prototype._nextFrame = function() { for ( var i=0; i