浮动居中js广告插件,支持详细的自定义:最大化播放时长,二次最大化间隔,不显示的url等
来源:互联网 发布:姓和氏的区别 知乎 编辑:程序博客网 时间:2024/06/05 18:28
效果
代码
/*
* 定时全屏广告
* 页面使用首先加载 <script src="http://icon.chinahrd.net/js/jquery.min.js"></script>;如果已经使用了,无需重复加载
* 再加载 <script src="http://icon.chinahrd.net/js/common.js"></script>:只使用到cookie方法
* 然后在页面插入以下代码,使用了防止缓存方案:<script>document.write('<script src="http://icon.chinahrd.net/js/timeAds.js?r=' + new Date().getTime() + '"></script' + '>');</script>
* 如果加载前页面设置了变量 window.timeADsHide = 1;,本页面即不加载此广告
* 如果页面中$已经被其它插件使用,请在加载所有项目的后方添加释放$占用的语句:<script>jQuery.noConflict();</script>
*/
(function($) {
/* 参数配置区 */
var adUrl = 'http://mall.chinahrd.net/html/chinahrd_cgb/PubClassAdvance.aspx'; //广告点击链接地址
var adSmallPic = 'http://icon.chinahrd.net/ads/kebiao.jpg'; //小广告图片
var cookieTime = 3;//广告期数,注意更换广告时,请累加
var minBtImg = 'http://icon.chinahrd.net/ads/closeBg.jpg';//大广告的最小化按钮图片
var cookieLife = 48;//多少小时内只显示一次
var adTop = 120;//大广告与小广告离页面顶边px值
var adBigWidth = 978;//大广告宽,高会自适应
var adSmallWidth = 22;//小广告宽,高会自适应
var showLife = 7;//大广告持续显示时间,秒
var noAds = 0;//禁显本广告,1:是,0:否
var notAdsHP = [
/*
* 不显示广告的url匹配条目;
* 支持 string 与 正则对象,除了这二者不允许放其它对象,否则会导致出错
* 设置string时,不区分大小写,使用从左边开始匹配规则,本条目完全页面URL中左边子串就符合,如 http://www.q.com 认为 与 http://www.q.com/dd/k 和 http://www.q.com/index.php 匹配,
* 但不与http://q.com/匹配
*
* 设置regexp或是//时,使用正则匹配方式
* 可以使用 //和new RegExp来设置
*/
'http://cms.chinahrd.net/user/'
,'http://cms.chinahrd.net'
,'http://www.chinahrd.net'
,'http://chinahrd.net'
];
var hasAd = [
/*
* 显示广告的url匹配条目,注意优先权高于 notAdsHP 中设置,也就 如果这里匹配了,notAdsHP中也匹配时将使用这个条目中的处理规则,而不应用notAdsHP处理规则
* 使用方式与notAdsHP一样
*/
'http://www.chinahrd.net/index.html'
];
var bigAdHtml = /*'<img src="http://icon.chinahrd.net/ads/cgb2013.gif" width="100%"/>'*/
'<embed width="978" height="300" swliveconnect="false" quality="high" allowscriptaccess="always" src="http://icon.chinahrd.net/ads/kebiao_download.swf" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" allowfullscreen="true" allownetworking="all">'
;
//编写大广告代码
/* 参数配置区 */
if (window.timeAdsJs) return;//防止重复加载
window.timeAdsJs = true;
if (noAds || window.timeADsHide) return ;
$(function () {
var exit = function () {
var href = location.href.toLowerCase();
for (var i = 0; i < hasAd.length; i++) {//优先检查绝对允许
var check = hasAd[i];
switch (typeof check) {
case 'string':
check = check.toLowerCase();
if (href.indexOf(check) == 0) return 0;
break;
case 'object':
if (check.test(href)) return 0;
break;
}
}
for (var i = 0; i < notAdsHP.length; i++) {//检查不允许
var check = notAdsHP[i];
switch (typeof check) {
case 'string':
check = check.toLowerCase();
if (href.indexOf(check) == 0) return 1;
break;
case 'object':
if (check.test(href)) return 1;
break;
}
}
return 0;
}
if (exit()) return;
var cookieName = 'timeADs' + cookieTime;
var isIe6 = $.browser.msie && ($.browser.version == "6.0") && !$.support.style;
var bigCss = isIe6 ? 'position:absolute;' : 'position:fixed; left:50%; margin-left:-' + (adBigWidth/2) + 'px;';//大广告样式
var smallCss = isIe6 ? 'position:absolute;' : 'right:0;position:fixed;';//小广告样式
//初始时最小化
var adHtml = '<div id="adBigDiv" style="overflow:hidden;width:' + adBigWidth + 'px;top:' + adTop + 'px;display:none;z-index:2147483647;' + bigCss + '" title="大广告外框">'
+ (adUrl == '' ? '' : '<a href="' + adUrl + '" style="width:100%;display:block;">')
+ bigAdHtml
+ (adUrl == '' ? '' : '</a>')
+ '<img style="float:right;" id="adSmall" src="' +minBtImg+ '" width="77" height="31" title="最小化广告" />'
+ '</div>'
+ '<div id="adSmallDiv" style="top:' + adTop + 'px;width:' + adSmallWidth + 'px;overflow:hidden;z-index:10002;' + smallCss + '" title="小广告外框">'
+ (adUrl == '' ? '' : '<a href="' + adUrl + '" target="_blank">')
+ '<img src="' + adSmallPic + '" width="22" height="217" title="点击进入此宣传页面"/>'
+ (adUrl == '' ? '' : '</a>')
+ '<img id="adPlay" src="http://icon.chinahrd.net/ads/play.jpg" width="23" height="30" title="再次观看"/>'
+ '<img id="adClose" src="http://icon.chinahrd.net/ads/close.jpg" width="18" height="48" title="关闭浮动条"/>'
+ '</div>';
var adTime = _.getCookie(cookieName);
adTime = isNaN(adTime) ? 0 : adTime * 1;
var recAdTime = function () {
_.setCookie(cookieName, new Date().getTime(), {hours:cookieLife});
}
$('body').append(adHtml);
var showLifer = null;
if (isIe6) {
var setPosition = function () {
var top = adTop + $(window).scrollTop();
var left = $(window).scrollLeft();
var width = $(window).width();
$('#adBigDiv,#adSmallDiv').css('top', top + 'px');
$('#adBigDiv').css('left', left + width/2 - adBigWidth/2 + 'px');
$('#adSmallDiv').css('left', left + width - adSmallWidth + 'px');
}
$(window).scroll(setPosition).resize(setPosition);
}
$('#adClose').click(function() {//关闭浮动条
clearTimeout(showLifer);
$('#adSmallDiv').hide();
});
$('#adPlay').click(function() {//最小化条中播放
$('#adBigDiv').show();
$('#adSmallDiv').hide();
clearTimeout(showLifer);
showLifer = setTimeout(function() {
$('#adSmall').click();
}, showLife * 1000);
});
$('#adSmall').click(function() {//最小化按钮
clearTimeout(showLifer);
$('#adBigDiv').hide();
$('#adSmallDiv').show();
});
if (adTime < 1) {//时间内次次
$('#adPlay').click();
recAdTime();//记录下次时间
}
});
})(jQuery);
- 浮动居中js广告插件,支持详细的自定义:最大化播放时长,二次最大化间隔,不显示的url等
- C# 窗体不显示最大化等按钮
- SVM支持向量机原理(二) 线性支持向量机的软间隔最大化模型
- 支持向量机原理(二) 线性支持向量机的软间隔最大化模型
- winform窗体的最大化最小化按钮不显示
- c#设置不显示右上角的最小化最大化关闭按钮
- window最大化后,里面的grid不跟着最大化,解决办法
- 多文档的一些操作:启动时不自动打开一个空文档、启动时主窗体最大化显示、打开一个子窗体时最大化显示
- 机器学习十九:LinearSVM的软间隔最大化模型
- 最大化最小化自定义窗口的尺寸
- MFC对话框显示和不显示最小化、最大化和关闭按钮的方法
- 第五章:如何最大化广告的可见度和响应度
- 搜索引擎是如何最大化关键字广告收益的
- NYOJ914 Yougth的最大化 (最大化平均值)
- 浮动的div自适应居中显示的js代码
- SVM 支持向量机(1) 硬间隔最大化
- wpf 自定义窗口,最大化时不覆盖任务栏
- wpf 自定义窗口,最大化时不覆盖任务栏
- 自己写的一个php分页类,支持onclick和详细定制参数
- 在js文件中获取本身加载时的绝对路径
- apache中ob_start(\'ob_gzhandler\');前输出内容就会导致浏览出错:无效的或者不支持的压缩格式
- php使用fsockopen请求方法,支持https/header设置/代理请求等定制
- iOS开发常用的宏
- 浮动居中js广告插件,支持详细的自定义:最大化播放时长,二次最大化间隔,不显示的url等
- google的文档在线预览
- hdu 4417 Super Mario (划分树)
- php代码快速测试页面
- 关于js删除cookie
- xt910与cm10
- WScript.Shell的AtEndOfStream在程序存活时访问会阻塞.
- cmd.exe加强版本powercmd
- iOS开发2:读取plist文件