灰儿 发表于 2014-11-10 16:37:13

如何给dedecms添加悬浮广告

 门户广告的方式多种多样,悬浮广告的优势是不占用主体内容的位置,所以悬浮广告还是比较受欢迎的,那么如何给dedecms添加悬浮广告?

1.在广告管理增加一个新广告

2.广告代码如下:

<div id="ad" style="position:absolute"><a href="#">
<img src="/templets/tupian/漂浮.jpg" border="0"></a>
</div>
<script>
var x = 50,y = 60
var xin = true, yin = true
var step = 1
var delay = 10
var obj=document.getElementById("ad")
function floatAD() {
   var L=T=0
   var R= document.body.clientWidth-obj.offsetWidth
   var B = document.body.clientHeight-obj.offsetHeight
   obj.style.left = x + document.body.scrollLeft
   obj.style.top = y + document.body.scrollTop
   x = x + step*(xin?1:-1)
   if (x < L) { xin = true; x = L}
   if (x > R){ xin = false; x = R}
   y = y + step*(yin?1:-1)
   if (y < T) { yin = true; y = T }
   if (y > B) { yin = false; y = B }
}
var itl= setInterval("floatAD()", delay)
obj.onmouseover=function(){clearInterval(itl)}
obj.onmouseout=function(){itl=setInterval("floatAD()", delay)}
</script>


3.把上面代码的# 这个网址替换成你想点击广告后出现的网址

4.把上面代码的src="/templets/tupian/漂浮.jpg这一段里的地址换成你的漂浮广告图片地址

5.生成广告代码,然后复制广告代码

6.打开首页模板,把代码放进BODY之间

7.完成

经测试,此代码在iE8浏览器下有效,在火狐、百度浏览器下图片固定不动。

灰儿 发表于 2014-11-10 16:42:02

以上的浮动广告代码兼容性有问题,在非IE浏览中不浮动,以下这个代码很好解决了兼容性问题。是真正通用的漂浮广告

首先:1.在广告管理增加一个新广告
            2.广告代码如下:
<title>JS浮动广告</title>
<style type="text/css">
img{border:0;}
</style>
<SCRIPT type=text/javascript>
function addEvent(obj,evtType,func,cap){
    cap=cap||false;
if(obj.addEventListener){
   obj.addEventListener(evtType,func,cap);
   return true;
}else if(obj.attachEvent){
      if(cap){
         obj.setCapture();
         return true;
   }else{
      return obj.attachEvent("on" + evtType,func);
   }
}else{
   return false;
    }
}
function getPageScroll(){
    var xScroll,yScroll;
if (self.pageXOffset) {
   xScroll = self.pageXOffset;
} else if (document.documentElement && document.documentElement.scrollLeft){
   xScroll = document.documentElement.scrollLeft;
} else if (document.body) {
   xScroll = document.body.scrollLeft;
}
if (self.pageYOffset) {
   yScroll = self.pageYOffset;
} else if (document.documentElement && document.documentElement.scrollTop){
   yScroll = document.documentElement.scrollTop;
} else if (document.body) {
   yScroll = document.body.scrollTop;
}
arrayPageScroll = new Array(xScroll,yScroll);
return arrayPageScroll;
}
function GetPageSize(){
    var xScroll, yScroll;
    if (window.innerHeight && window.scrollMaxY) {
      xScroll = document.body.scrollWidth;
      yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){
      xScroll = document.body.scrollWidth;
      yScroll = document.body.scrollHeight;
    } else {
      xScroll = document.body.offsetWidth;
      yScroll = document.body.offsetHeight;
    }
    var windowWidth, windowHeight;
    if (self.innerHeight) {
      windowWidth = self.innerWidth;
      windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
      windowWidth = document.documentElement.clientWidth;
      windowHeight = document.documentElement.clientHeight;
    } else if (document.body) {
      windowWidth = document.body.clientWidth;
      windowHeight = document.body.clientHeight;
    }
    if(yScroll < windowHeight){
      pageHeight = windowHeight;
    } else {
      pageHeight = yScroll;
    }
    if(xScroll < windowWidth){
      pageWidth = windowWidth;
    } else {
      pageWidth = xScroll;
    }
    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
    return arrayPageSize;
}var AdMoveConfig=new Object();
AdMoveConfig.IsInitialized=false;
AdMoveConfig.ScrollX=0;
AdMoveConfig.ScrollY=0;
AdMoveConfig.MoveWidth=0;
AdMoveConfig.MoveHeight=0;
AdMoveConfig.Resize=function(){
    var winsize=GetPageSize();
    AdMoveConfig.MoveWidth=winsize;
    AdMoveConfig.MoveHeight=winsize;
    AdMoveConfig.Scroll();
}
AdMoveConfig.Scroll=function(){
    var winscroll=getPageScroll();
    AdMoveConfig.ScrollX=winscroll;
    AdMoveConfig.ScrollY=winscroll;
}
addEvent(window,"resize",AdMoveConfig.Resize);
addEvent(window,"scroll",AdMoveConfig.Scroll);
function AdMove(id){
    if(!AdMoveConfig.IsInitialized){
      AdMoveConfig.Resize();
      AdMoveConfig.IsInitialized=true;
    }
    var obj=document.getElementById(id);
    obj.style.position="absolute";
    var W=AdMoveConfig.MoveWidth-obj.offsetWidth;
    var H=AdMoveConfig.MoveHeight-obj.offsetHeight;
    var x = W*Math.random(),y = H*Math.random();
    var rad=(Math.random()+1)*Math.PI/6;
    var kx=Math.sin(rad),ky=Math.cos(rad);
    var dirx = (Math.random()<0.5?1:-1), diry = (Math.random()<0.5?1:-1);
    var step = 1;
    var interval;
    this.SetLocation=function(vx,vy){x=vx;y=vy;}
    this.SetDirection=function(vx,vy){dirx=vx;diry=vy;}
    obj.CustomMethod=function(){
      obj.style.left = (x + AdMoveConfig.ScrollX) + "px";
      obj.style.top = (y + AdMoveConfig.ScrollY) + "px";
      rad=(Math.random()+1)*Math.PI/6;
      W=AdMoveConfig.MoveWidth-obj.offsetWidth;
      H=AdMoveConfig.MoveHeight-obj.offsetHeight;
      x = x + step*kx*dirx;
      if (x < 0){dirx = 1;x = 0;kx=Math.sin(rad);ky=Math.cos(rad);}
      if (x > W){dirx = -1;x = W;kx=Math.sin(rad);ky=Math.cos(rad);}
      y = y + step*ky*diry;
      if (y < 0){diry = 1;y = 0;kx=Math.sin(rad);ky=Math.cos(rad);}
      if (y > H){diry = -1;y = H;kx=Math.sin(rad);ky=Math.cos(rad);}
    }
    this.Run=function(){
      var delay = 10;
      interval=setInterval(obj.CustomMethod,delay);
      obj.onmouseover=function(){clearInterval(interval);}
      obj.onmouseout=function(){interval=setInterval(obj.CustomMethod, delay);}
    }
}
</SCRIPT>
<DIV id=ad1 style="Z-INDEX: 5">
<!--漂浮开始-->
<A href="http://www.dahu123.com"
target=_blank><IMG src="http://www.dahu123.com/template/dahu123_x3blue/pic/logo.png"></A>
<!--漂浮结束-->
</DIV>
<SCRIPT type=text/javascript><!--
      var ad1=new AdMove("ad1");
      ad1.Run();
//多组漂浮
//var ad1=new AdMove("ad2");
      //ad2.Run();
    //-->
</SCRIPT>         
   3.把上面代码的链接网址替换成你想点击广告后出现的网址
   4.把上面代码的图片地址换成你的漂浮广告图片地址
   5.生成广告代码,然后复制广告代码
   6.打开首页模板,把代码放进BODY之间
   7.完成

页: [1]
查看完整版本: 如何给dedecms添加悬浮广告