/*! 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);