Ecshop首頁“站內快訊”默認是靜止不動的,很多人想讓它垂直滾動顯示,這里簡要說一下方法
如果只是要簡單的垂直滾動 用 html 標簽中的 <maquee> 就能實現,但是不能實現無縫結合。
如果想要無縫垂直滾動,就需要一點JS代碼的支持。
下面就講一講如何實現“站內快訊”垂直無縫滾動顯示:
將 library/new_articles.lbi 文件內容完全替換為下面代碼即可:
(經測試完全兼容IE6,IE7,FIREFOX)
注意:下面方法已經在官方默認模板基礎上測試完全通過,其他模板沒做測試。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div id="artup" style="overflow:hidden; height: 170px;">
<div id="artup1">
<ul style="padding:0;margin:0" id="artup1ul">
<!--{foreach name="new_articles" from=$new_articles item=article}-->
<li>
[<a href="{$article.cat_url}">{$article.cat_name}</a>] <a href="{$article.url}" title="{$article.title|escape:html}">{$article.short_title|truncate:10:"...":true}</a>
</li>
<!--{/foreach}-->
</ul>
</div>
<div id="artup2"> </div>
</div>
<script type="text/javascript">
var speed=30;
var ARTUP=document.getElementById('artup');
var ARTUP1=document.getElementById('artup1');
var ARTUP2=document.getElementById('artup2');
var ARTUP1ul=document.getElementById('artup1ul');
var result = "";
for(var i=0; i<25; i++) result += ARTUP1ul.innerHTML;
ARTUP1ul.innerHTML=result
ARTUP2.innerHTML=ARTUP1.innerHTML
function Marquee1(){
if(ARTUP2.offsetHeight-ARTUP.scrollTop<=0)
ARTUP.scrollTop-=ARTUP1.offsetHeight
else{
ARTUP.scrollTop++
}
}
var MyMar1=setInterval(Marquee1,speed)
ARTUP.onmouseover=function() {clearInterval(MyMar1)}
ARTUP.onmouseout=function() {MyMar1=setInterval(Marquee1,speed)}
</script>
以上就是關于Ecshop模板制作讓首頁“站內快訊”垂直滾動顯示的方法,希望對大家有所幫助。
新聞熱點
疑難解答