整理的广告悬浮方法

1左侧或者右侧的悬浮广告。

css样式:

*{padding: 0;margin: 0;}
.fl{float:left;display: inline;}
.fr{float: right;display: inline;}
.clearfix{*zoom: 1;}
.clearfix:after{ display: block; content: ""; height: 0;line-height: 0;visibility: hidden; clear: both;}
/*tab 切换*/
.tab_title{ line-height: 30px; border-bottom: 1px solid #ccc; width: 360px;margin: 0 auto;}
.tab_title a{ display: inline-block; font-size: 16px;color: #333; text-decoration: none; margin-right: 20px;}
.tab_title a.active{color: red;}
.tab_content{width: 340px; padding:5px 10px;margin: 0 auto; border: 1px solid #ccc; height: 120px;}
/*文字滚动*/
.moveScroll{ width: 360px; height: 120px; border: 1px solid #ccc; margin: 50px auto;}
.moveparent{ width: 330px;height: 90px;overflow: hidden; margin:15px auto;}
.moveScroll .content{  color: #333; }
/*文本输入框*/
.inputText{ width: 320px; padding:10px; line-height: 22px;margin: 10px auto;display: block;color: #999;}
/*幻灯片*/
 .wrapper {
  width: 324px;
  height: 325px;
  _height: 321px;
  position: relative;
  z-index: 1;
  margin: 20PX auto;
}
 .wrapper .main {
  width: 324px;
  height: 222px;
  overflow: hidden;
}
.wrapper li {
  float: left;
  display: inline;
}
.wrapper ul img {
  width: 324px;
  height: 222px;
  position: relative;
  z-index: 1;
}
.wrapper ul span {
  position: absolute;
  display: block;
  text-align: center;
  width: 324px;
  height: 20px;
  overflow: hidden;
  bottom: 10px;
  left: 0;
}
.wrapper ol {
  margin-right: -4px;
  height: 58px;
  *zoom: 1;
}
.wrapper ol:after {
  display: block;
  content: "";
  line-height: 0;
  height: 0;
  visibility: hidden;
  clear: both;
}
.wrapper ol img {
  width: 78px;
  height: 52px;
  margin: 6px 4px 0 0;
}
.wrapper ol li {
  opacity: 0.5;
  filter: alpha(opacity=50);
  cursor: pointer;
}
.wrapper ol .active {
  opacity: 1;
  filter: alpha(opacity=100);
}

html代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>简jQuery左右对称浮动广告代码</title>
        <link rel="stylesheet" href="css/style.css" />
    </head>
    <body>
        <div style="height:2000px;"></div>
        <!-- 代码部分begin -->
        <div id="floatright" style="position: absolute; z-index: 10; "></div>
        <script src="js/jquery.js" ></script>
        <script src="js/floatAd.js" ></script>
        <script>
        window.onload = function(){
            var ad2 = new FloatAd({
                nodeLink : "<a href='广告连接地址'><img src='广告图片' border=0 /></a>" ,
                floatObj : "floatleft",
                x : 10,
                y : 400,
                locate : "left"
            });
            ad2.play();
        }
        </script>
        <!-- 代码部分end -->
    </body>
</html>

js文件除引入jquery外(要问我jquery是什么,请出门左转)还需要:

    var FloatAd = function(obj){
        var mainNode = $("." + obj.main)[0];
        if(obj.nodeLink && (typeof obj.nodeLink == "string")){
            var newFloatObj = document.createElement("div");
            newFloatObj.id = obj.floatObj;
            newFloatObj.style.position = "absolute";
            newFloatObj.style.zIndex = 10;
            newFloatObj.innerHTML = obj.nodeLink;
            document.body.appendChild(newFloatObj);
        }
        this.ad = document.getElementById(obj.floatObj);
        this.main = document.getElementById(obj.main)||mainNode;
        this.x = obj.x;
        this.y = obj.y;
        this.locate = obj.locate;
        this.space = obj.space;
        var that = this;
        this.play = function(){
            setInterval(function(){
                that.calculate();
            },10);
        };
    }
    FloatAd.prototype = {
        constructor : FloatAd,
        calculate : function(){
            var obj_x = this.x,
                obj_y = this.y,
                main_offsetLeft = document.documentElement.scrollLeft||document.body.scrollLeft,
                main_offsetTop = document.documentElement.scrollTop||document.body.scrollTop;
            if(this.main){
                if(this.locate == "left"){
                    obj_x = this.main.offsetLeft - this.ad.offsetWidth - this.space;
                }else if(this.locate == "right"){
                    obj_x = this.main.offsetLeft + this.main.offsetWidth + this.space;
                }
                if(this.ad.offsetLeft != main_offsetLeft + obj_x){
                    var dx = (main_offsetLeft + obj_x - this.ad.offsetLeft)*0.08;
                    dx = (dx > 0 ? 1 : -1)*Math.ceil(Math.abs(dx));
                    this.ad.style.left = this.ad.offsetLeft + dx + "px";
                }    
            }else{
                if(this.locate == "left"){
                    this.ad.style.left = obj_x + "px";
                }else if(this.locate == "right"){
                    this.ad.style.right = obj_x +"px";
                }
            }
            if(this.ad.offsetTop != main_offsetTop + obj_y){
                var dy = (main_offsetTop + obj_y - this.ad.offsetTop)*0.08;
                dy = (dy > 0 ? 1 : -1)*Math.ceil(Math.abs(dy));
                this.ad.style.top = this.ad.offsetTop + dy + "px";
            }
        }
    }

这是自己在用到这种效果的时候整理出来的,copy网上的案例,进行整理,方便大家使用。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2 全屏漂浮案例:飘窗!

css文件:

#img1{
    z-index: 100;
    left: 2px;
    width: 59px;
    position: absolute;
    top: 43px;
    height: 61px;
    visibility: visible;
}

html文件

<html>
<head>
    <title>漂浮广告</title>
</head>
<link rel="stylesheet" href="floatImg.css"/>
<body>
<div id=img1>
    <a href="广告链接地址" target="_blank">
        <img src="广告图片">
    </a>
</div>
</body>
<script src="链接js"></script>
</html>

js代码:

var xPos = 300;
var yPos = 200;
var step = 1;
var delay = 30;
var height = 0;
var Hoffset = 0;
var Woffset = 0;
var yon = 0;
var xon = 0;
var pause = true;
var interval;
img1.style.top = yPos;
function changePos()
{
    width = document.body.clientWidth;
    height = document.body.clientHeight;
    Hoffset = img1.offsetHeight;
    Woffset = img1.offsetWidth;
    img1.style.left = xPos + document.body.scrollLeft;
    img1.style.top = yPos + document.body.scrollTop;
    if (yon)
    {yPos = yPos + step;}
    else
    {yPos = yPos - step;}
    if (yPos < 0)
    {yon = 1;yPos = 0;}
    if (yPos >= (height - Hoffset))
    {yon = 0;yPos = (height - Hoffset);}
    if (xon)
    {xPos = xPos + step;}
    else
    {xPos = xPos - step;}
    if (xPos < 0)
    {xon = 1;xPos = 0;}
    if (xPos >= (width - Woffset))
    {xon = 0;xPos = (width - Woffset);   }
}

function start()
{
    img1.visibility = "visible";
    interval = setInterval('changePos()', delay);
}
function pause_resume()
{
    if(pause)
    {
        clearInterval(interval);
        pause = false;}
    else
    {
        interval = setInterval('changePos()',delay);
        pause = true;
    }
}
start();

以上整理内容方便大家参阅。

原文地址:https://www.cnblogs.com/xiuber/p/5290712.html