JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

!(function($, window, document, undefined) {

var pluginName = 'floatingAd';

var defaults = {

step: 1,

delay: 50,

isLinkClosed: false,

onClose: function(elem) {}

};

var ads = {

linkUrl: '#',

'z-index': '100',

'closed-icon': '',

imgHeight: '',

imgWidth: '',

title: '',

img: '#',

linkWindow: '_blank',

headFilter: 0.2

};

function Plugin(element, options) {

this.element = element;

this.options = $.extend({},

defaults,

options, {

width: $(window).width(),

height: $(window).height(),

xPos: this.getRandomNum(0, $(window).width() - $(element).innerWidth()),

yPos: this.getRandomNum(0, 300),

yOn: this.getRandomNum(0, 1),

xOn: this.getRandomNum(0, 1),

yPath: this.getRandomNum(0, 1),

xPath: this.getRandomNum(0, 1),

hOffset: $(element).innerHeight(),

wOffset: $(element).innerWidth(),

fn: function() {},

interval: 0

}

);

this._defaults = defaults;

this._name = pluginName;

this.init();

}

Plugin.prototype = {

init: function() {

var elem = $(this.element);

var defaults = this.options;

var p = this;

var xFlag = 0;

var yFlag = 0;

elem.css({

"left": defaults.xPos + p.scrollX(),

"top": defaults.yPos + p.scrollY()

});

defaults.fn = function() {

defaults.width = $(window).width();

defaults.height = $(window).height();

if (xFlag == p.scrollX() && yFlag == p.scrollY()) {

elem.css({

"left": defaults.xPos + p.scrollX(),

"top": defaults.yPos + p.scrollY()

});

if (defaults.yOn)

defaults.yPos = defaults.yPos + defaults.step;

else

defaults.yPos = defaults.yPos - defaults.step;

if (defaults.yPos <= 0) {

defaults.yOn = 1;

defaults.yPos = 0;

}

if (defaults.yPos >= (defaults.height - defaults.hOffset)) {

defaults.yOn = 0;

defaults.yPos = (defaults.height - defaults.hOffset);

}

if (defaults.xOn)

defaults.xPos = defaults.xPos + defaults.step;

else

defaults.xPos = defaults.xPos - defaults.step;

if (defaults.xPos <= 0) {

defaults.xOn = 1;

defaults.xPos = 0;

}

if (defaults.xPos >= (defaults.width - defaults.wOffset)) {

defaults.xOn = 0;

defaults.xPos = (defaults.width - defaults.wOffset);

}

}

yFlag = $(window).scrollTop();

xFlag = $(window).scrollLeft();

};

this.run(elem, defaults);

},

run: function(elem, defaults) {

this.start(elem, defaults);

this.adEvent(elem, defaults);

},

start: function(elem, defaults) {

elem.find('div.close').hide();

defaults.interval = window.setInterval(defaults.fn, defaults.delay);

window.setTimeout(function() {

elem.show();

}, defaults.delay);

},

getRandomNum: function(Min, Max) {

var Range = Max - Min;

var Rand = Math.random();

return (Min + Math.round(Rand * Range));

},

getPath: function(on) {

return on ? 0 : 1;

},

clear: function(elem, defaults) {

elem.find('div.close').show();

window.clearInterval(defaults.interval);

},

close: function(elem, defaults, isClose) {

//elem.unbind('hover');

elem.unbind("mouseenter mouseleave");

elem.hide();

if (isClose)

defaults.onClose.call(elem);

},

adEvent: function(elem, defaults) {

var obj = {

elem: this,

fn_close: function() {

this.elem.close(elem, defaults, true);

},

fn_clear: function() {

if (this.elem.options.isLinkClosed)

this.elem.close(elem, defaults, false);

}

};

elem.find('div.button').bind('click', jQuery.proxy(obj, "fn_close"));

elem.find('a').bind('click', jQuery.proxy(obj, "fn_clear"));

var stop = {

elem: this,

over: function() {

this.elem.clear(elem, defaults);

},

out: function() {

this.elem.start(elem, defaults);

}

};

elem.bind("mouseenter", jQuery.proxy(stop, "over"));

elem.bind("mouseleave", jQuery.proxy(stop, "out"));

/*

elem.hover(

jQuery.proxy(stop, "over"),

jQuery.proxy(stop, "out")

);

*/

},

scrollX: function() {

var de = document.documentElement;

return self.pageXOffset || (de && de.scrollLeft) || document.body.scrollLeft;

},

scrollY: function() {

var de = document.documentElement;

return self.pageYOffset || (de && de.scrollTop) || document.body.scrollTop;

}

};

$.fn.floatingAd = function(options) {

return this.children("div").each(function(i, elem) {

if (!$.data(this, 'plugin_' + pluginName)) {

$.data(this, 'plugin_' + pluginName, new Plugin(this, options));

}

});

};

$.floatingAd = function(options) {

if (options) {

if (options.ad) {

var adDiv = $('#' + pluginName);

if (adDiv.length <= 0)

adDiv = $('

', {

'id': pluginName,

'class': pluginName

}).appendTo('body');

for (var i in options.ad) {

var ad = options.ad[i];

ad = $.extend({}, ads, ad);

//漂浮层

var div = $('

', {

'class': 'ad'

});

div.css("z-index", ad['z-index']);

//关闭层

var closeDiv = $('

', {

'class': 'close'

});

$('

', {

'class': 'opacity',

'style': 'opacity: ' + ad.headFilter + ';filter: alpha(opacity = ' + ad.headFilter * 100 + ');'

}).appendTo(closeDiv);

$('

', {

'class': 'text'

}).append(

$('

', {

'class': 'title',

'text': ad.title

})

).append(

$('

', {

'class': 'button',

'style': ad['closed-icon'] ? 'background:url("' + ad['closed-icon'] + '") no-repeat;' : ''

})

).appendTo(closeDiv);

closeDiv.appendTo(div);

//内容层

var content = $('

');

$('', {

href: ad.linkUrl,

target: ad.linkWindow,

title: ad.title

}).append(

$('', {

'src': ad.img,

'style': (ad.imgHeight ? 'height:' + ad.imgHeight + 'px;' : '') +

(ad.imgWidth ? 'width:' + ad.imgWidth + 'px;' : '')

})

).appendTo(content);

content.appendTo(div);

div.appendTo(adDiv);

}

delete options.ad;

$('#' + pluginName).floatingAd(options);

}

} else

$.error('漂浮广告错误!');

};

})(jQuery, window, document);

$(function() {

$.floatingAd({

//频率

delay: 60,

//超链接后是否关闭漂浮

isLinkClosed: true,

//漂浮内容

ad: [{

//关闭区域背景透明度(0.1-1)

headFilter: 0.3,

//图片

'img': '/assets/coolboy.jpg',

//图片高度

//'imgHeight': 220,

//图片宽度

//'imgWidth': 176,

//图片链接

'linkUrl': 'http://techbrood.com/',

//浮动层级别

'z-index': 100,

//标题

'title': '踏得代言'

}, {

'img': '/uploads/150501/12980129103_edbea2fca4_q.jpg',

//'imgHeight': 220,

//'imgWidth': 176,

'linkUrl': 'http://techbrood.com/',

'z-index': 101,

'title': '好地方',

//关闭按键图片

'closed-icon': '/uploads/150701/exit.png'

}],

//关闭事件

onClose: function(elem) {

alert('关闭');

}

});

$("#aa").floatingAd({

onClose: function(elem) {}

});

});

html首页随机飘浮图片,jQuery 全屏随机漂浮图片广告相关推荐

  1. 分享一款jQuery全屏滚动页面特性案例

    分享一款jQuery全屏滚动页面特性案例. 我们在来往官网,或者小米官网都会看到全屏滚动页面的一些例子.可以说全屏滚动页面越来越受欢迎.它们就像是竖着的图片轮转一样. 这样的页面有很多,如:iPhon ...

  2. php 轮播图插件下载,jquery全屏响应式轮播图插件jquery.flexslider.js

    在zblogPHP主题 yunduan 上使用这个轮播幻灯片插件jquery.flexslider.js,分享下使用方法: 这是一款jquery全屏响应式淡入淡出效果轮播图插件.该轮播图插件简单实用, ...

  3. html全屏漂浮,jquery全屏漂浮广告插件,可点击关闭(原创)

    jquery全屏漂浮广告插件 兼容主流浏览器 实现简单 调用简单 在线预览 源码下载 jquery全屏漂浮广告插件 兼容主流浏览器 实现非常简单 说明:jquery在1.9开始不支持.live()方法 ...

  4. java安卓图片全屏_在Android中全屏显示GIF图片(演示代码)

    [实例简介] 在Android中全屏显示GIF图片(演示代码),详细内容请参考:http://blog.csdn.net/u012939909/article/details/77418173 [实例 ...

  5. html5段落跳转,jQuery全屏跟随和可平滑跳转到相应文章段落的导航菜单

    这是一款非常实用的jQuery全屏跟随和可平滑跳转到相应文章段落的导航菜单插件.该菜单插件会自动检测你的HTML结构,搜索内容的标题并生成对应的菜单.当用户滚动页面,菜单将处于固定位置,并高亮当前用户 ...

  6. 用css使用html设置背景图片自适应,CSS怎么设置背景图片自适应全屏?附源码!...

    不少同学在设置网站背景图片时会遇到这么一个问题:背景图片总是不能铺满整个屏幕,不是图片太小就是图片被过度放大,显得不太美观.那么 CSS 怎么设置背景图片自适应全屏呢?这篇文章告诉你. 实现效果: 源 ...

  7. html全屏轮播图插件,jQuery全屏3D轮播图插件

    jQuery.PageScroll3D是一款jQuery全屏3D轮播图插件.该jquery轮播图插件采用响应式设计,可以在垂直方向上制作出类似立方体滚动的3d轮播图效果. 使用方法 在页面中引入jqu ...

  8. jQuery全屏滚动插件 Fullpage.js 及 move.js

    Fullpage.js 引入文件 <link rel="stylesheet" href="css/jquery.fullPage.css"> &l ...

  9. jQuery全屏滚动插件fullPage.js

    演 示 下 载 简介 如今我们经常能见到全屏网站,尤其是国外网站.这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次.比如 iPhone 5C 的介绍页面(查看),Q ...

  10. android引导页图片全屏适配,关于图片适配不同尺寸的image View(实战)

    分享人:广州华软佐罗 一. 前言 在前端开发过程中,设计稿中往往只提供一张图片,但是app内需要用到的尺寸各种各样. 同时图片不仅是信息的直接表达,也会为网站起到美观点缀的作用,图片的变形.过分裁切会 ...

最新文章

  1. java项目中怎么查看用的序列_如何在Java应用程序中使用序列化分类器对...
  2. IsWindow函数的作用
  3. SAP Commerce Accelerator和SAP Spartacus的技术对比
  4. JavaWeb开发概念了解
  5. JavaScript学习随记——对象
  6. 深度之眼-科赛网二分类大赛入门之路
  7. 计算机英语句子及翻译,英文的唯美句子带翻译 最火英文句子带翻译
  8. 中英文国际机场三字代码
  9. Python CV2图像鼠标选择任意区域截图
  10. SDNU_ACM_ICPC_2020_Winter_Practice_2nd C 离散化, lower_bound
  11. ChatGPT在线网页版和接口
  12. 小程序源码:独家修复登录接口社区论坛-多玩法安装简单
  13. R入门(一)----读取数据、查看数据
  14. KindEditor在线文本编辑器
  15. 自然语言处理菜鸟学习笔记(一)
  16. Python turtle绘图——国际象棋棋盘
  17. TMMi测试能力成熟度模型简介
  18. 2021Java高级面试题总结:java程序员优秀简历模板
  19. STM32-通用定时器-定时器中断
  20. java 有没有类似于 requests 爬虫_广州地震?用 Python 爬虫带你了解地震

热门文章

  1. 自己动手打造 mini 型 QQ (二):从局域网到互联网的 miniQQ
  2. xss.haozi练习通关详解
  3. CC2652RB1F开发板烧录ZNP的固件
  4. 照着这本“书”,3年量产自动驾驶卡车
  5. 通过Bottledwater同步PostgreSQL中的数据变化到Kafka消息队列
  6. Chrome 浏览器下载速度慢?一个开关就可解决
  7. 开机出现invalid boot.ini filebooting from c:\windows\ntdetect failed 修复方法
  8. win11解决打开文档延迟
  9. 一篇文章彻底搞懂海明码
  10. c语言void* arg,void * arg什么意思