1、首页主广告管理-》自定义,粘下以下代码:
- <script type="text/javascript">
- /*
- * ECSHOP - 免费开源稳定的电子商务网店系统
- * 此功能代码源于腾讯官方网页开发人员分享,本人只做引用借鉴,感谢论坛热心网友的整理分享
- * glide.layerGlide((oEventCont,oSlider,sSingleSize,sec,fSpeed,point);
- * @param auto type:bolean 是否自动滑动 当值是true的时候 为自动滑动
- * @param oEventCont type:object 包含事件点击对象的容器
- * @param oSlider type:object 滑动对象
- * @param sSingleSize type:number 滑动对象里单个元素的尺寸(width或者height) 尺寸是有point 决定
- * @param second type:number 自动滑动的延迟时间 单位/秒
- * @param fSpeed type:float 速率 取值在0.05--1之间 当取值是1时 没有滑动效果
- * @param point type:string left or top
- */
- var glide =new function(){
- function $id(id){return document.getElementById(id);};
- this.layerGlide=function(auto,oEventCont,oSlider,sSingleSize,second,fSpeed,point){
- var oSubLi = $id(oEventCont).getElementsByTagName('li');
- var interval,timeout,oslideRange;
- var time=1;
- var speed = fSpeed
- var sum = oSubLi.length;
- var a=0;
- var delay=second * 1000;
- var setValLeft=function(s){
- return function(){
- oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
- $id(oSlider).style[point] =-Math.floor(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px';
- if(oslideRange==[(sSingleSize * s)]){
- clearInterval(interval);
- a=s;
- }
- }
- };
- var setValRight=function(s){
- return function(){
- oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
- $id(oSlider).style[point] =-Math.ceil(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px';
- if(oslideRange==[(sSingleSize * s)]){
- clearInterval(interval);
- a=s;
- }
- }
- }
-
- function autoGlide(){
- for(var c=0;c<sum;c++){oSubLi[c].className='';};
- clearTimeout(interval);
- if(a==(parseInt(sum)-1)){
- for(var c=0;c<sum;c++){oSubLi[c].className='';};
- a=0;
- oSubLi[a].className="active";
- interval = setInterval(setValLeft(a),time);
- timeout = setTimeout(autoGlide,delay);
- }else{
- a++;
- oSubLi[a].className="active";
- interval = setInterval(setValRight(a),time);
- timeout = setTimeout(autoGlide,delay);
- }
- }
- if(auto){timeout = setTimeout(autoGlide,delay);};
- for(var i=0;i<sum;i++){
- oSubLi[i].onmouseover = (function(i){
- return function(){
- for(var c=0;c<sum;c++){oSubLi[c].className='';};
- clearTimeout(timeout);
- clearInterval(interval);
- oSubLi[i].className="active";
- if(Math.abs(parseInt($id(oSlider).style[point]))>[(sSingleSize * i)]){
- interval = setInterval(setValLeft(i),time);
- this.οnmοuseοut=function(){if(auto){timeout = setTimeout(autoGlide,delay);};};
- }else if(Math.abs(parseInt($id(oSlider).style[point]))<[(sSingleSize * i)]){
- interval = setInterval(setValRight(i),time);
- this.οnmοuseοut=function(){if(auto){timeout = setTimeout(autoGlide,delay);};};
- }
- }
- })(i)
- }
- }
- }
- glide.layerGlide(true,'icon_num','show_pic',534,2,0.1,'left');
- </script>
寻找$smarty->display('index.dwt', $cache_id);下面加:
- function get_flash_xml()
- {
- $flashdb = array();
- if (file_exists(ROOT_PATH . DATA_DIR . '/flash_data.xml'))
- {
- // 兼容v2.7.0及以前版本
- if (!preg_match_all('/item_url="([^"]+)"\slink="([^"]+)"\stext="([^"]*)"\ssort="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER))
- {
- preg_match_all('/item_url="([^"]+)"\slink="([^"]+)"\stext="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER);
- }
- if (!empty($t))
- {
- foreach ($t as $key => $val)
- {
- $val[4] = isset($val[4]) ? $val[4] : 0;
- $flashdb[] = array('src'=>$val[1],'url'=>$val[2],'text'=>$val[3],'sort'=>$val[4]);
- }
- }
- }
- return $flashdb;
- }
- $smarty->assign('playerdb', get_flash_xml()); // FLASHJS广告
4、index_ad.lbi:
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <!-- {if $index_ad eq 'sys'} -->
- <script type="text/javascript">
- var swf_width=534;
- var swf_height=200;
- </script>
- <script type="text/javascript" src="data/flashdata/{$flash_theme}/cycle_image.js"></script>
- <!-- {elseif $index_ad eq 'cus'} -->
- <!-- {if $ad.ad_type eq 0} -->
- <a href="{$ad.url}" target="_blank"><img src="{$ad.content}" width="534" height="200" border="0"></a>
- <!-- {elseif $ad.ad_type eq 1} -->
- <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="534" height="200">
- <param name="movie" value="{$ad.content}" />
- <param name="quality" value="high" />
- <embed src="{$ad.content}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="534" height="200"></embed>
- </object>
- <!-- {elseif $ad.ad_type eq 2} -->
- <div id="picBox">
- <ul id="show_pic" style="left:0;">
- {foreach from=$playerdb item=item key=key}
- <li><a href="{$item.url}" target="_blank"><img src="{$item.src}" alt="{$item.text}" /></a></li>
- {/foreach}
- </ul>
- <ul id="icon_num">
- {foreach from=$playerdb item=item name=picsitem key=key}
- <li <!--{if $smarty.foreach.picsitem.iteration eq 1}-->class="active" <!--{/if}-->>{$item.text}</li>
- {/foreach}
- </ul>
- </div>
- {$ad.content}
- <!-- {elseif $ad.ad_type eq 3} -->
- <a href="{$ad.url}" target="_blank">{$ad.content}</a>
- <!-- {/if} -->
- <!-- {else} -->
- <!-- {/if} -->
5、CSS文件
- /*首页轮换广告*/
- #picBox{width:534px; height:232px; overflow:hidden; position:relative; z-index:999;border:1px solid #0000ff}
- #picBox ul#show_pic{height:202px; width:3050px; position:absolute;}
- #picBox ul#show_pic li{ float:left; height:202px;}
- #picBox ul#show_pic li img{ display:block; width:534px;height:200px}
- #icon_num{ position:absolute; bottom:0px; left:0px;width:534px; overflow:hidden;}
- #icon_num li { float:left;background:#565662; font-weight:bold;color:#fff; display:block;cursor:pointer;width:135px;padding:5px;text-align:center; border-right:1px solid #fff; font-size:13px;}
- #icon_num li:hover,#icon_num li.active{ background:#000000; color: red;}
- /*end*/
注意CSS文件里面的数字534px,这是图片的宽度,要一致,注意JS代码最后一句glide.layerGlide(true,'icon_num','show_pic',534,2,0.1,'left'); 这里也有一个534。
上面代码是文字轮换,类似shop.qq.com上面的广告,如果想换成数字,在index_ad.lbi里:用{$smarty.foreach.picsitem.iteration}替换{$item.text}