/*!
jquery.higo_plugins_ad.js(v0.1)
http://www.higosoft.cn
mailto:wdong0472@gmail.com
Copyright (c) 2011 wdong
Dual licensed under the MIT and GPL licenses.
*/
/*
* 创建浮动图片广告(Generate a dock AD image)
*
* USAGE:
* $(selector).higo_plugins_ad({
* type:1, //1代表图片2代表flash
* src:null, // 广告图片路径
* closeSrc:null, // 关闭图片路径
* href:"#", // 广告图片链接地址
* autoHide:true, // 是否自动隐藏
* hideSecond:10, // 延迟隐藏秒数
* top:20, // 距离顶部偏移高度
* layout:"left", // 图片位置:left 居左 ,right 居右, center 居中,
* width:100, // 宽度
* height:100, // 高度
* opacity:0.5 // 透明度opacity:0.5(firefox), filter:alpha(opacity=50)(IE)
* setPosition:function(left, top){ // 预留自定义显示位置的方法(尚未实现)
* return;
* }
* })
*/
(function($) {
$.fn.lastScrollY = 0;
$.fn.higo_plugins_ad = function(options) {
$(this).addClass("higo_plugins_ad");
var settings = $.extend( {
type:1,
src : null,
closeSrc : null,
href : "#",
target:'_blank',
autoHide : true,
hideSecond : 10,
top : 20,
layout : "left",
width : 100,
height : 100,
opacity : 0.5,
setPosition : function(left, top) {
return;
}
}, options || {});
if (settings.src && settings.closeSrc) {
if(settings.type==1){
var imgEl = "
";
}else{
var imgEl = "
";
}
var closeImgEl = "
";
$(this).append(imgEl + closeImgEl);
$(this).css("position", "absolute");
$(this).css("top", settings.top + "px");
$(this).css("opacity", settings.opacity);
$(this).css("filter",
"alpha(opacity=" + parseInt(settings.opacity * 100) + ")");
switch (settings.layout) {
case "left":
$(this).css("left", "22px");
break;
case "right":
$(this).css("right", "22px");
break;
case "center":
var left = (parseInt(window.screen.availWidth) - parseInt(settings.width))
/ 2 + "px";
$(this).css("left", left);
break;
default:
$(this).css("left", "22px");
break;
}
} else {
return;
}
if (settings.autoHide) {
setTimeout(
"(function(){$('" + $(this).selector + "').hide();})();",
parseInt(settings.hideSecond) * 1000);
}
window.onscroll = function() {
var diffY;
if (document.documentElement && document.documentElement.scrollTop)
diffY = document.documentElement.scrollTop;
else if (document.body)
diffY = document.body.scrollTop
else {
/* Netscape stuff */
}
percent = 1 * (diffY - $.fn.lastScrollY);
if (percent > 0)
percent = Math.ceil(percent);
else
percent = Math.floor(percent);
var top = $('.higo_plugins_ad').css("top");
$('.higo_plugins_ad').css("top", parseInt(top) + percent + "px");
$.fn.lastScrollY += percent;
}
}
})(jQuery);