/*
    jquery漂浮广告插件,
    调用方法:
    把广告内空(如图片)放在div里面,如<div id="div_float">这里是广告内容</div>,在页面里采用如下方法调用
    $(function() {
        $("#div_float").adFloat({ width: 228, height: 88, top: 30, left: 20 });
    })
*/
(function($) {

$.fn.adFloat = function(options) {
        return new AdFloat(this, options);
    };

var AdFloat = function(element, options) {
        this.element = $(element);
        this.options = $.extend({
            width: 100,         //广告容器的宽度
            height: 100,        //广告容器的高度
            top: 0,            //起始top位置
            left: 0,            //超始left位置
            delay: 30,          //延迟
            step: 1             //每次移多少
        }, options || {});

this.interval = null;
        this.xPos = this.options.left;
        this.yPos = this.options.top;
        this.yon = 0;
        this.xon = 0;
        this.isPause = false;

this.init();
    };
    AdFloat.prototype = {
        init: function() {
            var me = this;
           
            me.element.css("display", "block");
            me.element.css({ position: "absolute", left: me.options.left + "px", top: me.options.top + "px", width: me.options.width + "px", height: me.options.height + "px", overflow: "hidden" });
            me.element.hover(
                    function() { clearInterval(me.interval) },
                    function() { me.interval = setInterval(function() { me.changePos(); }, me.options.delay); }
            );
            $(document).ready(function() { me.start(); });
        },

changePos: function() {
            var me = this;

var clientWidth = document.documentElement.clientWidth;
            var clientHeight = document.documentElement.clientHeight;
            var Hoffset = me.element.attr("offsetHeight");
            var Woffset = me.element.attr("offsetWidth");

me.element.css({ left: me.xPos + document.documentElement.scrollLeft, top: me.yPos + document.documentElement.scrollTop });

if (me.yon)
                me.yPos = me.yPos + me.options.step;
            else
                me.yPos = me.yPos - me.options.step;

if (me.yPos < 0) {
                me.yon = 1; me.yPos = 0;
            }
            if (me.yPos >= (clientHeight - Hoffset)) {
                me.yon = 0; me.yPos = (clientHeight - Hoffset);
            }
            if (me.xon)
                me.xPos = me.xPos + me.options.step;
            else
                me.xPos = me.xPos - me.options.step;

if (me.xPos < 0) {
                me.xon = 1; me.xPos = 0;
            }
            if (me.xPos >= (clientWidth - Woffset)) {
                me.xon = 0; me.xPos = (clientWidth - Woffset);
            }
        },
        start: function() {
            var me = this;
            me.element.css("top", me.yPos);
            me.interval = setInterval(function() { me.changePos(); }, me.options.delay);
        }
    };
})(jQuery)

jquery广告浮动插件相关推荐

  1. IE6下使用jquery.bgiframe.js插件解决下拉框覆盖浮动层、Dialog的问题

    IE6下使用jquery.bgiframe.js插件解决下拉框覆盖浮动层.Dialog的问题 参考文章: (1)IE6下使用jquery.bgiframe.js插件解决下拉框覆盖浮动层.Dialog的 ...

  2. html5自动提示插件,jquery万能浮动框提示插件

    特效描述:jquery 万能浮动框提示.jquery万能浮动框提示插件 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 jQuery万能浮动框插件测试 一.加载页面上元素 默认rel加 ...

  3. 精心收集的jQuery常用的插件1000

    花N长时间积累的Jquery插件,希望大家喜欢.大家还有什么新的插件,请留言,我们一并收录. 感谢大家的支持. 1.accordion类 基于jQuery开发,非常简单的水平方向折叠控件. Horiz ...

  4. jquery常用的插件1000收集

    花N长时间积累的Jquery插件,希望大家喜欢.大家还有什么新的插件,请留言,我们一并收录. 感谢大家的支持. 1.accordion类 基于jQuery开发,非常简单的水平方向折叠控件. Horiz ...

  5. H5C3动画实例,通过基于jQuery的fullpage插件完成

    要点: 1.素材是黑马程序员的,自己重写了下代码,主要是为了体会下h5c3. 2.环境 : 3.主要是加入了pullpage的插件特有的功能帮助开发,其中基于jQuery开发的插件,其定义的方法一般都 ...

  6. 十个jQuery图片画廊插件推荐

    2019独角兽企业重金招聘Python工程师标准>>> jQuery的画廊插件可以将分组图像和多媒体资料转成类似Flash的图像或照片.当幻灯片已经成为网站的重要组成部分,jQuer ...

  7. jquery弹出插件

    对于jquery弹出插件,想起自己刚学习js那会,在实习的时候做过一个,唉,做工太粗浅了. 点击看效果demo (function($, window, document,undefined){ va ...

  8. AdGuard广告拦截插件V3.6.6

    介绍: AdGuard AdBlocker 是一款广告拦截插件,用以对抗各式广告与弹窗.可以拦截绝大部分常见网站的广告. 例如视频广告,插播广告和浮动广告.从而实现加速页面载入,节省带宽,屏蔽广告和弹 ...

  9. zblog广告小小插件 - ZblogPHP插件

    介绍: zblog广告小小插件,支持版本:ZBlogPHP1.5.2+ 自定义电脑端和手机端广告代码,在主题中自由插入广告位,无需修改主题源码. 调用代码示例: 参数obj的值(红色字体)代表jQue ...

  10. 前端开发不容错过的jQuery图片滑块插件(转)

    作为前端开发者,我们会碰到很到各种各样的jQuery插件.今天要分享的几款jQuery图片滑块插件,也就是jQuery焦点图插件,基本上会在每个网站都有应用,可以下载看看,也许你可以用到. 1.jQu ...

最新文章

  1. canvas-js贝塞尔曲线代码在线生成工具
  2. 【SICP练习】111 练习3.24
  3. Spring AOP学习
  4. Node.js压缩web项目中的js,css和图片
  5. 在代码中使用协程(一)
  6. live555学习之基本类介绍及计划任务深度探讨
  7. 计算机 pps,计算机及其基本功能.pps
  8. 电脑运行c语言时错误,电脑出现microsoft visual c++ runtime error 解决方法(多图)
  9. 全面接触PDF:最好用的PDF软件汇总
  10. 集成电路可测性设计DFT技术入门概论--MBIST技术报告
  11. 三种新姿势帮你写出精美简历
  12. html中背景图片等比例缩放,CSS实现响应式全屏背景图+用CSS3实现全屏按比例缩放背景图片...
  13. c语言输出最大的数ns流程图_急!!!!c语言NS流程图
  14. 2021年中国互联网行业发展现状及未来发展趋势分析[图]
  15. longest-consecutive-sequence(最长连续序列)
  16. #JAVA# JAVA简易版计算器GUI编程练习
  17. Windows编程 从消息窗口到基本窗口 游戏循环窗口框架的简单实现
  18. 如何使用飞秋FeiQ实现两电脑通信(或传输文件)
  19. ZLMediaKit启用webrtc编译
  20. 吹爆系列:教科书级别的Android音视频入门进阶学习手册,学完我成功“挤进”了抖音音视频开发岗

热门文章

  1. Python文件名繁体转简体
  2. GEE-Python遥感大数据分析、管理与可视化技术应用
  3. CF1312E Array Shrinking(区间dp模板)
  4. android禁用传感器,Android 系统强制禁用距离传感器方法
  5. 二十一世纪大学英语读写教程(第四册)学习笔记(原文)——2 - The Gratitude We Need(我们所需要的感激)
  6. Entegris EUV 1010光罩盒展现极低的缺陷率,已获ASML认证
  7. 老罗与西门子的公关战争
  8. python函数之plot函数
  9. Java时间系列(JDK8)--Duration的使用
  10. 各互联网公司offer比较