Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
登录注册
收藏本站(不迷路),每天更新好文章!
今天整理一个在织梦文章列表向上滚动的知识点,实例是http://www.cctv-ss.com/ 首页的滚动文章列表,如下图:其实方法很简单1、在需要滚动文章列表的地方,用织梦的文章列表标签调用有“滚动”属性的文章。假设滚动文章列表的div 是<DIV id=ScrollMe> ,文章列表的代码如下:<DIV id=ScrollMe>{dede:artlist row='4' flag=s}<A title=[field:title/] href="[field:arcurl/]">[field:title/]</A><SPAN>[field:pubdate function="MyDate('Y/m/d H:i',@me)"/]</SPAN><BR>{/dede:artlist}</DIV>2、在添加js代码,代码如下:(1)下面这段代码放到文章列表代码的上面:<SCRIPT>function srcMarquee(){this.ID = document.getElementById(arguments[0]);if(!this.ID){this.ID = -1;return;}this.Direction = this.Width = this.Height = this.DelayTime = this.WaitTime = this.Correct = this.CTL = this.StartID = this.Stop = this.MouseOver = 0;this.Step = 1;this.Timer = 30;this.DirectionArray = {"top":0 , "bottom":1 , "left":2 , "right":3};if(typeof arguments[1] == "number")this.Direction = arguments[1];if(typeof arguments[2] == "number")this.Step = arguments[2];if(typeof arguments[3] == "number")this.Width = arguments[3];if(typeof arguments[4] == "number")this.Height = arguments[4];if(typeof arguments[5] == "number")this.Timer = arguments[5];if(typeof arguments[6] == "number")this.DelayTime = arguments[6];if(typeof arguments[7] == "number")this.WaitTime = arguments[7];if(typeof arguments[8] == "number")this.ScrollStep = arguments[8]this.ID.style.overflow = this.ID.style.overflowX = this.ID.style.overflowY = "hidden";this.ID.noWrap = true;this.IsNotOpera = (navigator.userAgent.toLowerCase().indexOf("opera") == -1);if(arguments.length >= 7)this.Start();}srcMarquee.prototype.Start = function(){if(this.ID == -1)return;if(this.WaitTime < 800)this.WaitTime = 800;if(this.Timer < 20)this.Timer = 20;if(this.Width == 0)this.Width = parseInt(this.ID.style.width);if(this.Height == 0)this.Height = parseInt(this.ID.style.height);if(typeof this.Direction == "string")this.Direction = this.DirectionArray[this.Direction.toString().toLowerCase()];this.HalfWidth = Math.round(this.Width / 2);this.BakStep = this.Step;this.ID.style.width = this.Width;this.ID.style.height = this.Height;if(typeof this.ScrollStep != "number")this.ScrollStep = this.Direction > 1 ? this.Width : this.Height;var msobj = this;var timer = this.Timer;var delaytime = this.DelayTime;var waittime = this.WaitTime;msobj.StartID = function(){msobj.Scroll()}msobj.Continue = function(){if(msobj.MouseOver == 1){setTimeout(msobj.Continue,delaytime); } else{ clearInterval(msobj.TimerID);msobj.CTL = msobj.Stop = 0;msobj.TimerID = setInterval(msobj.StartID,timer); } }msobj.Pause = function(){msobj.Stop = 1;clearInterval(msobj.TimerID);setTimeout(msobj.Continue,delaytime); }msobj.Begin = function(){ msobj.ClientScroll = msobj.Direction > 1 ? msobj.ID.scrollWidth : msobj.ID.scrollHeight; if((msobj.Direction <= 1 && msobj.ClientScroll <msobj.Height) || (msobj.Direction > 1 && msobj.ClientScroll <msobj.Width))return; msobj.ID.innerHTML += msobj.ID.innerHTML; msobj.TimerID = setInterval(msobj.StartID,timer); if(msobj.ScrollStep < 0)return; msobj.ID.onmousemove = function(event){ if(msobj.ScrollStep == 0 && msobj.Direction > 1){var event = event || window.event;if(window.event){if(msobj.IsNotOpera){msobj.EventLeft = event.srcElement.id == msobj.ID.id ? event.offsetX - msobj.ID.scrollLeft : event.srcElement.offsetLeft - msobj.ID.scrollLeft + event.offsetX;}else{msobj.ScrollStep = null;return;}}else{msobj.EventLeft = event.layerX - msobj.ID.scrollLeft;}msobj.Direction = msobj.EventLeft > msobj.HalfWidth ? 3 : 2;msobj.AbsCenter = Math.abs(msobj.HalfWidth - msobj.EventLeft);msobj.Step = Math.round(msobj.AbsCenter * (msobj.BakStep*2) / msobj.HalfWidth);}}msobj.ID.onmouseover = function(){if(msobj.ScrollStep == 0)return;msobj.MouseOver = 1;clearInterval(msobj.TimerID);}msobj.ID.onmouseout = function(){if(msobj.ScrollStep == 0){if(msobj.Step == 0)msobj.Step = 1;return;}未经允许不得转载:Str Tom工作室 » 怎样实现织梦滚动文章列表的调用