|
<script> var dom = document.getElementById; var iex = document.all; function eeSaddEvent(event,method){ this[event] = method; } function eeSremoveEvent(event){ this[event] = null; } function eeSgetElement(name,nest){ nest = nest ? "document."+nest+"." : ""; var el = dom ? document.getElementById(name) : iex ? document.all[name] : false; el.css = el.style; el.getTop = function(){return parseInt(el.css.top) || 0}; el.setTop = function(y){el.css.top = y+"px"}; el.getHeight = function(){return el.offsetHeight}; el.getClipHeight = function(){return el.offsetHeight}; el.eeSaddEvent = eeSaddEvent; el.eeSremoveEvent = eeSremoveEvent; return el; } function getYMouse(e){ if (!e) var e = window.event; if (e.PageY) return e.pageY; else if (e.clientY) return e.clientY + document.body.scrollTop; } 本文来自泠云天天在线 document.eeSaddEvent = eeSaddEvent; document.eeSremoveEvent = eeSremoveEvent; // |||||||||||||||||||||||||||||||||||||||||||||||||| // Scroller Class ScrollObj = function(speed, dragHeight, trackHeight, trackObj, upObj, downObj, dragObj, contentMaskObj, contentObj){ this.speed = speed; this.dragHeight = dragHeight; this.trackHeight = trackHeight; this.trackObj = eeSgetElement(trackObj); this.upObj = eeSgetElement(upObj); this.downObj = eeSgetElement(downObj); this.dragObj = eeSgetElement(dragObj); this.contentMaskObj = eeSgetElement(contentMaskObj); this.contentObj = eeSgetElement(contentObj,contentMaskObj); this.obj = contentObj+"Object"; eval(this.obj+"=this"); lyttzx.com this.trackTop = this.dragObj.getTop(); this.trackLength = this.trackHeight-this.dragHeight; this.trackBottom = this.trackTop+this.trackLength; this.contentMaskHeight = this.contentMaskObj.getClipHeight(); this.contentHeight = this.contentObj.getHeight(); this.contentLength = this.contentHeight-this.contentMaskHeight; this.scrollLength = this.trackLength/this.contentLength; this.scrollTimer = null; copyright lyttzx.com if(this.contentHeight <= this.contentMaskHeight){ this.dragObj.hideVis(); this.upObj.hideVis(); this.downObj.hideVis(); this.trackObj.hideVis(); }else{ var self = this; this.trackObj.eeSaddEvent("onmousedown", function(e){self.scrollJump(e);return false}); this.upObj.eeSaddEvent("onmousedown", function(){self.scroll(self.speed);return false}); this.upObj.eeSaddEvent("onmouseup", function(){self.stopScroll()}); this.upObj.eeSaddEvent("onmouseout", function(){self.stopScroll()}); this.downObj.eeSaddEvent("onmousedown", function(){self.scroll(-self.speed);return false}); this.downObj.eeSaddEvent("onmouseup", function(){self.stopScroll()}); this.downObj.eeSaddEvent("onmouseout", function(){self.stopScroll()}); this.dragObj.eeSaddEvent("onmousedown", function(e){self.startDrag(e);return false}); 本文来自泠云天天在线 if(iex) this.dragObj.eeSaddEvent("ondragstart", function(){return false}); } } ScrollObj.prototype.startDrag = function(e){ this.dragStartMouse = getYMouse(e); this.dragStartOffset = this.dragObj.getTop(); var self = this; document.eeSaddEvent("onmousemove", function(e){self.drag(e)}); document.eeSaddEvent("onmouseup", function(){self.stopDrag()}); } ScrollObj.prototype.stopDrag = function(){ document.eeSremoveEvent("onmousemove"); document.eeSremoveEvent("onmouseup"); } ScrollObj.prototype.drag = function(e){ var currentMouse = getYMouse(e); var mouseDifference = currentMouse-this.dragStartMouse; var dragDistance = this.dragStartOffset+mouseDifference; var dragMovement = (dragDistance<this.trackTop) ? this.trackTop : (dragDistance>this.trackBottom) ? this.trackBottom : dragDistance; this.dragObj.setTop(dragMovement); var contentMovement = -(dragMovement-this.trackTop)*(1/this.scrollLength); 内容来自泠云天天在线 this.contentObj.setTop(contentMovement); } ScrollObj.prototype.scroll = function(speed){ var contentMovement = this.contentObj.getTop()+speed; var dragMovement = this.trackTop-Math.round(this.contentObj.getTop()*(this.trackLength/this.contentLength)); if(contentMovement > 0){ contentMovement = 0; }else if(contentMovement < -this.contentLength){ contentMovement = -this.contentLength; } if(dragMovement < this.trackTop){ dragMovement = this.trackTop; }else if(dragMovement > this.trackBottom){ dragMovement = this.trackBottom; } this.contentObj.setTop(contentMovement); this.dragObj.setTop(dragMovement); this.scrollTimer = window.setTimeout(this.obj+".scroll("+speed+")",25); } ScrollObj.prototype.stopScroll = function(){ if(this.scrollTimer){ window.clearTimeout(this.scrollTimer); this.scrollTimer = null; } 本文来自泠云天天在线 } ScrollObj.prototype.scrollJump = function(e){ var currentMouse = getYMouse(e); var dragDistance = currentMouse - findPosY(this.trackObj); var dragMovement = (dragDistance<this.trackTop) ? this.trackTop : (dragDistance>this.trackBottom) ? this.trackBottom : dragDistance; this.dragObj.setTop(dragMovement); var contentMovement = -(dragMovement-this.trackTop)*(1/this.scrollLength); this.contentObj.setTop(contentMovement); } ScrollObj.prototype.syncBarPosToContent = function(pos){ if (pos) { var dragMovement = this.trackTop-Math.round(pos*(this.trackLength/this.contentLength)); } else { var dragMovement = this.trackTop-Math.round(this.contentObj.getTop()*(this.trackLength/this.contentLength)); } this.dragObj.setTop(dragMovement); } // findPosY function findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { 内容来自泠云天天在线 curtop += obj.offsetTop obj = obj.offsetParent; } } else if (obj.y) curtop += obj.y; return curtop; } 本文来自泠云天天在线 // 自定义 window.onload = function() { var div = document.getElementById('scrollerContainer'); // 这两句是让'scrollerContainer' 这里面的内容自动定位到最下面 div.scrollTop = div.scrollHeight; // 这两句是让'scrollerContainer' 这里面的内容自动定位到最下面 内容来自泠云天天在线 myScroll = new ScrollObj(7,28,96,"track","up","down","drag","scrollerContainer","scrollerContent"); } </script> copyright lyttzx.com 上面都是JS 我是从网上找到的。 现在设置了让DIV层中的内容显示在最下面。可是控制旁边的滚动条就反了。 我是想让他也自动下面 哎。能帮改改吗。 谢了 内容来自泠云天天在线 <style type="text/css"> #content1 { margin:0; padding:0; float:left; width: 305px; height: 147px; font-size: 11px; line-height: 24px; color: #FFF; } /* scroller */ #scrollerContainer { position:absolute; width:285px; height:121px; clip:rect(0,375px,290px,0); overflow:hidden; z-index:6; } #scrollerContent { position:absolute; left:0; top:0; width:285px; } #scrollerButtons { position: absolute; top: 0px; left: 287px; width: 16px; height: 114px; } #scrollerButtons #up { position: absolute; top: 0px; left: 0; width: 16px; height: 16px; background:#000000; z-index: 2; cursor:pointer; } #scrollerButtons #track { position:absolute; top: 16px; width:16px; height:82px; background:url(images/dao_bg.GIF) no-repeat; z-index: 3; } 泠云工作室 #scrollerButtons #drag { position: absolute; top: 20px; left: 2px; width:12px; height:10px; background:#000000; z-index: 4; cursor:pointer; } #scrollerButtons #down { position: absolute; top: 98px; left: 0; width: 16px; height: 16px; background:#000000; z-index: 5; cursor:pointer; } </style> <div id="scrollerContainer"> <div id="scrollerContent" style="color:#000000;"> <b>Natalia Mager Sacasa - Senior Director</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> <b>Vanessa Critchell - Director (West Coast)</b> <br /> 泠云工作室 最下面 </div></div> <div id="scrollerButtons"> <div id="up"></div> <div id="track"></div> <div id="drag" style="top:20px; z-index: 4;"></div> <div id="down"></div> </div> 内容来自泠云天天在线 (责任编辑:泠云) |