Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

漂浮广告/对联广告的实现方法

 关闭 [复制链接]
茄子 发表于 2006-7-21 18:43:52 | 显示全部楼层 |阅读模式
SupeSite的目前的广告功能基本可以实现任意形式的广告。非常的灵活。根据广告内容的需要,可以任意选择其中的调用方式。
这里再说下放置广告的流程:
登陆站点设置--广告--添加广告--添加完毕之后回到浏览广告--获取代码--将获取的代码放置在模版中需要的位置中(这步一定要操作!)
下面看看如何添加对联广告和漂浮广告,这些代码到baidu/google 上一搜一大把。
1,添加广告代码,一定要选择直接显示
对联广告代码:
  1. <script type="text/javascript">
  2.     var delta = 0.15; //每次走动的像素
  3.     var speeds = 30; //图片浮动速度,数值越大,速度越慢(建议设置为30-100之间)
  4.     var collections;
  5.     function floaters() {
  6.         this.items    = [];
  7.         this.addItem    = function(id,x,y,content) {
  8.                     document.write('<DIV id='+id+' style="z-index:5; position:absolute; left:'+(typeof(x)=='string'?eval(x):x)+'px;top:'+(typeof(y)=='string'?eval(y):y)+'px">'+content+'</DIV>');
  9.                   
  10.                     var newItem                = {};
  11.                     newItem.object            = document.getElementById(id);
  12.                     newItem.x                = x;
  13.                     newItem.y                = y;
  14.                     this.items[this.items.length]        = newItem;
  15.                   }
  16.         this.play    = function() {
  17.                     collections                = this.items
  18.                     setInterval('float_play()',speeds);
  19.                   }
  20.         }
  21.         function float_play() {
  22.             if(screen.width<=800) {
  23.                 for(var i=0;i<collections.length;i++) {
  24.                     collections.object.style.display    = 'none';
  25.                 }
  26.                 return;
  27.             }
  28.             for(var i=0;i<collections.length;i++) {
  29.                 var followObj        = collections.object;
  30.                 var followObj_x        = (typeof(collections.x)=='string'?eval(collections.x):collections.x);
  31.                 var followObj_y        = (typeof(collections.y)=='string'?eval(collections.y):collections.y);
  32.                 if(followObj.offsetLeft!=(document.documentElement.scrollLeft+followObj_x)) {
  33.                     var dx=(document.documentElement.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
  34.                     dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
  35.                     followObj.style.left=followObj.offsetLeft+dx+'px';
  36.                     }
  37.                 if(followObj.offsetTop!=(document.documentElement.scrollTop+followObj_y)) {
  38.                     var dy=(document.documentElement.scrollTop+followObj_y-followObj.offsetTop)*delta;
  39.                     dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
  40.                     followObj.style.top=followObj.offsetTop+dy+'px';
  41.                     }
  42.                 followObj.style.display    = '';
  43.             }
  44.         }   
  45.       
  46.     var theFloaters        = new floaters();
  47.     theFloaters.addItem('{广告ID1}','document.documentElement.clientWidth-{宽度}',0,'<a href="{链接1}" target=_blank><img src="{图片地址}" width="{宽度}px" height="{高度}px" border="0" /></a>');//对联的右部
  48.     theFloaters.addItem('{广告ID2}',0,0,'<a href="{链接2}" target=_blank><img src="{图片地址}" width="{宽度}px" height="{高度}px" border="0"></a>');//对联的左部
  49.     theFloaters.play();  
  50. </script>
复制代码


说明:
{广告ID} : 广告的ID名,自行设置不同的ID名,一般设置为英文,比如one,two等.请注意区分对联的左右部分。左边和右边包括下面的漂浮广告的{广告ID} 都不要重复
{宽度} : 放置广告图片的宽度,仅填数字
{高度} : 放置广告图片的高度,仅填数字
{链接} : 广告的链接地址,比如https://discuz.dismall.com
{图片地址}:广告的图片的访问地址,比如https://discuz.dismall.com/images/default/logo.gif
注意:{}包括里面的文字需要全部替换成您设置的东西,比如https://discuz.dismall.com/images/default/logo.gif全部替换{图片地址},而不是{https://discuz.dismall.com/images/default/logo.gif}这种形式。
当然,如果要用flash,不用图片的话,只需要将上面的<img src="{图片地址}" width="{宽度}px" height="{高度}px" border="0" />替换为flash的代码。
flash代码:
  1. <EMB
  2. ED src="{FLASH地址}" wmode="transparent" style="position:absolute;width:{宽度};height:{高度};">
复制代码

漂浮广告代码:
  1. <script type="text/javascript">
  2. var step = 1; //每次走动的像素
  3. var speed = 30; //图片浮动速度,数值越大,速度越慢(建议设置为30-100之间)
  4. var collection;
  5. function floaters_move() {
  6.   this.items    = [];
  7.   this.addItem  = function(id,x,y,content) {
  8.    document.write('<div id='+id+' style="z-index:2; position:absolute;">'+content+'</div>');
  9.    var newItem = {};
  10.    newItem.object = document.getElementById(id);
  11.    newItem.xPos = x;
  12.    newItem.yPos = y;
  13.    newItem.xon = 0;
  14.    newItem.yon = 0;
  15.    this.items[this.items.length] = newItem;
  16.   }
  17.   this.play = function() {
  18.    collection = this.items
  19.    setInterval('move_play()',speed);
  20.   }
  21. }
  22.         function move_play() {
  23.   for(var i=0;i<collection.length;i++) {
  24.    var followObj        = collection.object;
  25.    var followObj_x        = followObj.offsetWidth;
  26.    var followObj_y        = followObj.offsetHeight;
  27.    
  28.    followObj.style.left = collection.xPos + document.documentElement.scrollLeft+'px';
  29.    followObj.style.top = collection.yPos + document.documentElement.scrollTop+'px';
  30.    if(collection.xon) {
  31.     collection.xPos += step;
  32.    } else {
  33.     collection.xPos -= step;
  34.    }
  35.    if(collection.yon) {
  36.     collection.yPos += step;
  37.    } else {
  38.     collection.yPos -= step;
  39.    }
  40.    if(collection.xPos >= (document.documentElement.clientWidth-followObj_x)) {
  41.     collection.xon = 0;
  42.     collection.xPos = document.documentElement.clientWidth-followObj_x;
  43.    }
  44.    if(collection.xPos < 0) {
  45.     collection.xon = 1;
  46.     collection.xPos = 0;
  47.    }
  48.    if(collection.yPos >= (document.documentElement.clientHeight-followObj_y)) {
  49.     collection.yon = 0;
  50.     collection.yPos = document.documentElement.clientHeight-followObj_y;
  51.    }
  52.    if(collection.yPos < 0) {
  53.     collection.yon = 1;
  54.     collection.yPos = 0;
  55.    }
  56.   }
  57. }
  58. var theFloaters_move        = new floaters_move();
  59. theFloaters_move.addItem('{广告ID1}',{左边位置},{顶部位置},'<a href="{链接1}" target=_blank><img src="{图片地址}" width="{宽度}px" height="{高度}px" border="0" /></a>');//漂浮广告第一个,漂浮广告第二个,第三的类似增加这段代码。当然,只想漂浮一个的话只要这段即可
  60. theFloaters_move.play();
  61. </script>
复制代码

说明:
可设置多个浮动广告
格式:
theFloaters_move.addItem('{广告ID}',{左边位置},{顶部位置},'<a href="{链接2}" target=_blank><img src="{图片地址}" width="{宽度}px" height="{高度}px" border="0" /></a>');
{广告ID} :同上面的对联广告, 一般设置为英文,比如one,two等.同一个页面的{广告ID}不要重复
{左边位置} : 广告初始位置,距左边框的像素
{顶部位置} : 广告初始位置,距顶部的像素
{宽度} : 放置广告图片的宽度,仅填数字
{高度} : 放置广告图片的高度,仅填数字
{链接} : 广告的链接地址
{图片地址}:广告的图片的访问地址,比如https://discuz.dismall.com/images/default/logo.gif
注意:{}包括里面的文字需要全部替换成您设置的东西,比如https://discuz.dismall.com/images/default/logo.gif全部替换{图片地址},而不是{https://discuz.dismall.com/images/default/logo.gif}这种形式。
2,获取广告代码
您添加了上面的广告代码之后,需要在站点设置--广告--浏览广告--获取广告代码。
您会得到类似
<div >{$_SGLOBAL[ad][11][adcontent]}</div><!--对联-->

这样的广告代码。
复制这段代码
3,更新模版文件
打开templates/default/header.html.php
找到
<body>
找其后面添加上面的获得的代码,保存。
这样,您就可以在首页实现漂浮的或者对联的广告效果了。
当然,SupeSite还可以实现其他广告效果,关键是类似1找到该效果广告代码。
此广告功能非常灵活和强大,大家可以仔细研究,一定会有新发现!
Pess 发表于 2006-7-21 19:52:41 | 显示全部楼层
:)支持茄子...
回复

使用道具 举报

aryou 发表于 2006-7-21 20:27:29 | 显示全部楼层
不错.
回复

使用道具 举报

liyiliu 发表于 2006-7-21 22:27:22 | 显示全部楼层
支持一下,不过不喜欢 对联的广告
回复

使用道具 举报

stephenkua 发表于 2006-7-22 12:19:42 | 显示全部楼层
好东西,支持下!哈哈!
回复

使用道具 举报

zxcbutter 发表于 2006-7-22 13:14:27 | 显示全部楼层
确实是好东西,支持
回复

使用道具 举报

creep2008 发表于 2006-7-22 18:44:29 | 显示全部楼层
呵呵,谢谢茄子了~~~


如果能把这些都整合到下个版本就好了,这样就方便多了

[ 本帖最后由 creep2008 于 2006-7-23 02:41 编辑 ]
回复

使用道具 举报

samblue 发表于 2006-7-23 07:24:48 | 显示全部楼层
怎么对联和漂浮都是图片,不滚动啊?
回复

使用道具 举报

creep2008 发表于 2006-7-23 21:38:34 | 显示全部楼层
我在blueidea 下了一个可以关闭的浮动 flash 对联广告源码,

可能跟茄子的有点不一样,不过应该都是大同小异的,

这是通过调用js文件来实现的,莫名其妙的是源码在上传后就不能动了,

下载过来直接在直接在本地预览是可以的,

上传后,改了这是为什么呀?


修改后的js代码如下:



  1. <!--  Written by Myhyli, 2003/07/21. myhyli.blueidea.com  -->
  2. <!--  Member Of Blueidea Web Team. -->
  3. <!--  Welcome to [url]www.blueidea.com.[/url] -->

  4. <script type="text/javascript">

  5.         var delta=0.8;
  6.         var collection;
  7.         var closeB=false;
  8.         function floaters() {
  9.                 this.items        = [];
  10.                 this.addItem        = function(id,x,y,content)
  11.                                   {
  12.                                         document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute;  width:80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>');
  13.                                        
  14.                                         var newItem                                = {};
  15.                                         newItem.object                        = document.getElementById(id);
  16.                                         newItem.x                                = x;
  17.                                         newItem.y                                = y;

  18.                                         this.items[this.items.length]                = newItem;
  19.                                   }
  20.                 this.play        = function()
  21.                                   {
  22.                                         collection                                = this.items
  23.                                         setInterval('play()',30);
  24.                                   }
  25.                 }
  26.                 function play()
  27.                 {
  28.                         if(screen.width<=800 || closeB)
  29.                         {
  30.                                 for(var i=0;i<collection.length;i++)
  31.                                 {
  32.                                         collection[i].object.style.display        = 'none';
  33.                                 }
  34.                                 return;
  35.                         }
  36.                         for(var i=0;i<collection.length;i++)
  37.                         {
  38.                                 var followObj                = collection[i].object;
  39.                                 var followObj_x                = (typeof(collection[i].x)=='string'?eval(collection[i].x):collection[i].x);
  40.                                 var followObj_y                = (typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);

  41.                                 if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) {
  42.                                         var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
  43.                                         dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
  44.                                         followObj.style.left=followObj.offsetLeft+dx;
  45.                                         }

  46.                                 if(followObj.offsetTop!=(document.body.scrollTop+followObj_y)) {
  47.                                         var dy=(document.body.scrollTop+followObj_y-followObj.offsetTop)*delta;
  48.                                         dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
  49.                                         followObj.style.top=followObj.offsetTop+dy;
  50.                                         }
  51.                                 followObj.style.display        = '';
  52.                         }
  53.                 }       
  54.                 function closeBanner()
  55.                 {
  56.                         closeB=true;
  57.                         return;
  58.                 }

  59.         var theFloaters                = new floaters();
  60.         //
  61.         theFloaters.addItem('followDiv1','document.body.clientWidth-106',80,'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="97" height="233"><param name="movie" value="images/ad/ad-02.swf"><param name="quality" value="high"><embed src="images/ad/ad-02.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="97" height="233"></embed></object><br><br><img src=images/ad/close.gif onClick="closeBanner();">');
  62.         theFloaters.addItem('followDiv2',6,80,'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="97" height="233"><param name="movie" value="images/ad/ad-02.swf"><param name="quality" value="high"><embed src="images/ad/ad-02.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="97" height="233"></embed></object><br><br><img src=images/ad/close.gif onClick="closeBanner();">');
  63.         theFloaters.play();
  64.        

  65. //<a href=http://digi.blueidea.com/mms target=_blank><img src=/gg/blueidea/2004/digimms.gif width=100 height=100 border=0></a><a href=/news/game/2004/2363.asp><img src=/gg/computerarts/5000.gif width=100 height=150 border=0></a>

  66. </script>
复制代码





index.html.php文件添加了:

  1. <script src="include/js/ad-02.js" language="JavaScript"></script>
复制代码

[ 本帖最后由 creep2008 于 2006-7-23 22:58 编辑 ]
回复

使用道具 举报

creep2008 发表于 2006-7-23 22:00:19 | 显示全部楼层
按照茄子的  添加到header.html.php 的 <body> 里边也还是不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-24 03:43 , Processed in 0.029288 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表