/******************************************************************************************************** * D-ImageChange *---------------------------------------------------------------------------------------------------- * @Desc 图片轮换插件 *---------------------------------------------------------------------------------------------------- * @Author D.夏亦知非 * @Email DeclanZhang@gmail.com * @QQ 29540200 * @Blog http://onblur.javaeye.com * @Date 2009-10-19 * @Version V1.3@2010-03-16 * @JQueryVersion 1.3.2+ (建议使用1.4以上版本) * * @update v1.1 增加清空原始内容功能,以免页面加载完成之前显示大片空白 * v1.2 修正IE6每次从服务器读取背景图片的BUG * v1.3 修正了宽度过大产生的BUG, 兼容JQ1.4.1, 建议使用JQ1.4+, 效率更高 **/ // 修正IE6每次从服务器读取背景图片的BUG try { document.execCommand('BackgroundImageCache', false, true); }catch(e){ } (function($){ jQuery.fn.extend({ d_imagechange:function(setting){ var config = $.extend({ bg:true, // 是否背景色 title:true, // 是否有标题 desc:true, // 是否有描述 btn:true, // 是否显示按钮 repeat:'no-repeat', // 重复规则 'no-repeat' 'repeat-x' 'repeat-y' 'repeat' bgColor:'#000', // 背景色 bgOpacity:.5, // 背景透明度 bgHeight:40, // 背景高 titleSize:14, // 标题文字大小 titleFont:'Verdana,宋体', // 标题文本字体 titleColor:'#FFF', // 标题文本颜色 titleTop:4, // 标题上边距 titleLeft:4, // 标题左边距 descSize:12, // 描述文字大小 descFont:'Verdana,宋体', // 描述文本字体 descColor:'#FFF', // 描述文本颜色 descTop:2, // 描述上边距 descLeft:4, // 描述左边距 btnColor:'#FFF', // 按钮颜色1 btnOpacity:.5, // 未选中按钮透明度 btnFont:'Verdana', // 按钮文本字体 btnFontSize:12, // 按钮文字大小(注意:Chrome有默认最小字号的限制) btnFontColor:'#000', // 按钮文本颜色 btnText:true, // 是否显示文本 btnWidth:15, // 按钮宽 btnHeight:15, // 按钮高 btnMargin:4, // 按钮间距 btnTop:4, // 按钮上边距 playTime:2000, // 轮换间隔时间,单位(毫秒) animateTime:500, // 动画执行时间,单位(毫秒) animateStyle:'o', // 动画效果:'o':渐显 'x':横向滚动 'y':纵向滚动 'show':原地收缩伸展 'show-x':横向收缩伸展 'show-y':纵向收缩伸展' none':无动画 width:300, // 宽, 不设定则从DOM读取 height:200 // 高, 不设定则从DOM读取 },setting); return $(this).each(function(){ var _this = $(this); var _w = config.width || _this.width(); // 宽 var _h = config.height || _this.height(); // 高 var _n = config.data.length; // 数目 var _i = 0; // 当前显示的item序号 _this.empty() .css('overflow','hidden') .width(_w) .height(_h); // 半透明背景 if(config.bg){ $('
').appendTo(_this) .width(_w) .height(config.bgHeight) .css('background-color',config.bgColor) .css('opacity',config.bgOpacity) .css('position','absolute') .css('marginTop',_h-config.bgHeight) .css('zIndex',3333); } // 文字区 var _textArea = $('').appendTo(_this) .width(_w) .height(config.bgHeight) .css('position','absolute') .css('marginTop',_h-config.bgHeight) .css('zIndex',6666); // 按钮区 var _btnArea = $('').appendTo(_this) .width(config.data.length * (config.btnWidth + config.btnMargin)) .height(config.bgHeight) .css('position','absolute') .css('marginTop',_h-config.bgHeight) .css('marginLeft',_w-(config.btnWidth+config.btnMargin)*_n) .css('zIndex',9999) .css('display',config.btn?'block':'none'); // 插入空div修正IE的绝对定位BUG $('').appendTo(_this); // 图片区 var _imgArea = $('').appendTo(_this) .width('x,show-x'.indexOf(config.animateStyle)!=-1?_w*_n:_w) .height('y,show-y'.indexOf(config.animateStyle)!=-1?_h*_n:_h); // 初始化图片 文字 按钮 $.each(config.data,function(i,n){ $('').append($("