jquery 插件 轻量级jquery焦点图 幻灯片效果 jquery.slider
ie真的让程序员爱不起,ie9又让我管理的站酷车中国焦点图悲剧了。就从网上找对搜索引擎友好,界面类似的焦点图。无耐网上的焦点图界面功能都很复杂,不符合的我的要求。只有自己动手了。
原理并不复杂,运用定时器setInterval定时执行,轮换显示内容罢了。jquery 又给我们定义好了淡入淡出动画效果,就下手吧
下面是全部代码
//轻量级jquery焦点图 //版权 酷车中国 www.kuchechina.com //作者 逐月 zhuyue.cnblogs.com //演示 http://www.kuchechina.com/ //调用方法 //$("slider").slider(); //$("slider").slider({width:300,height:250,txtHeight:25}); //调用参数 //width:300,--宽 默认宽度300 //height:250,--总高 默认高度 250 //txtHeight:25--文件链接高 默认高度25 jQuery.fn.slider = function(settings) { settings = jQuery.extend({ width: 300, height: 250, txtHeight: 25 }, settings); var css = { dl:{ height:settings.height-settings.txtHeight, width:settings.width, padding:0, margin:0, position:"relative", overflow:"hidden" }, dd:{ position:"absolute", width: "100%", "list-style":"none", top: "0px", left: "0px", padding:0, margin:0, overflow:"hidden" }, dt:{ position:"absolute", width: "100%", "list-style":"none", right: "0px", bottom: "0px", padding:0, margin:0, overflow:"hidden" }, span:{ "text-align": "center", "border-left": "#ffffff 1px solid", width: "24px", display: "block", font: "10px Arial, Helvetica, sans-serif", background:" #000000", "float": "right", height: "100%", color: "#ffffff", cursor: "pointer" }, cur:{ background: "#ce0609", color: "#ffffff", filter: "Alpha(opacity=100)", opacity: "1.0" }, normal:{ filter: "Alpha(opacity=50)", background: "#000000", color: "#ffffff", opacity: "0.5" }, a:{ width: "100%", display: "block", height: "100%", color: "#ffffff" }, div:{ "text-align": "center", width:settings.width, height:settings.txtHeight, "vertical-align":"middle", "line-height":settings.txtHeight+"px", overflow:"hidden" } }; var s = this; var fs = 1; var pics = s.children("dl").find("dd"); s.children("dl").css(css.dl); pics.css(css.dd); var nav =s.children("dl").append("<dt></dt>").find("dt"); nav.css(css.dt); var sLink =s.append("<div></div>").find("div"); var navSite = pics.size(); pics.eq(fs -1).show().siblings("dd").hide(); sLink.css(css.div); setTxt(fs); for(var i = navSite;i >0 ;i--){ if(i == fs){ nav.append("<span class='cur'><a>"+i+"</a></span>"); }else{ nav.append("<span class='normal'><a>"+i+"</a></span>"); } }; nav.children("span").css(css.span); nav.children("span.cur").css(css.cur); nav.children("span.normal").css(css.normal); nav.children("span").find("a").css(css.a); var myTime = setInterval(function(){ fs++; if(fs>navSite){fs=1;} show(fs); } , 3000); function show(i){ pics.eq(i - 1).stop(true,true).fadeIn(300).siblings("dd").fadeOut(300); nav.children("span").eq(navSite - i).addClass("cur").removeClass("normal").siblings("span").removeClass("cur").addClass("normal"); nav.children("span.cur").css(css.cur); nav.children("span.normal").css(css.normal); setTxt(i); }; nav.children("span").mousedown(function(){ fs =navSite - nav.find("span").index(this); show(fs); }); function setTxt(i){ var fsA = pics.eq(i - 1).find("a"); sLink.empty().append("<a href='"+fsA.attr("href")+"' title='"+fsA.attr("title")+"' target='_blank'>" + fsA.attr("title")+"</a>"); }; };
html页面代码
<div class="slider" style="width:300px; height:250px; overflow:hidden;"> <dl> <dd> <a title="高晓松醉驾判决生效 被判拘役6个月" href="http://www.kuchechina.com/ReNews.aspx?Newsid=18163" target="_blank"> <img alt="高晓松醉驾判决生效 被判拘役6个月" style="width: 300px; height: 250px;" src="http://www.kuchechina.com/userfiles/2011/6/129526902922500000272.jpg" /> </a> </dd> <dd> <a title="醉驾入刑,法律岂是橡皮筋 " href="http://www.kuchechina.com/ReNews.aspx?Newsid=18861" target="_blank"> <img alt="醉驾入刑,法律岂是橡皮筋 " style="width: 300px; height: 250px;" src="http://www.kuchechina.com/userfiles/2011/6/129526899054218750421.jpg" /> </a> </dd> <dd> <a title="华丽转身 全新一代迈腾合众汇金到店实拍" href="http://www.kuchechina.com/renews.aspx?Newsid=19913" target="_blank"> <img alt="华丽转身 全新一代迈腾合众汇金到店实拍" style="width: 300px; height: 250px;" src="http://www.kuchechina.com/ImgUpload/Flash_News/129555408097214118.jpg" /> </a> </dd> </dl> </div>
调用方法
$(document).ready(function(){ // 在这里写你的代码... $(".slider").slider(); });
简单参数调用方法
$(document).ready(function(){ // 在这里写你的代码... $(".slider").slider({width:300,height:250,txtHeight:25}); });
使用建议:
1. HTML代码一定要按照给出的格式,外边框要定义宽高和使用样式overflow:hidden以免破坏我们的页面效果
<div class="slider" style="width:XXpx;height:xxpx;overflow:hidden;"> <dl> <dd><a href="http://www.kuchechina.com/" title="酷车中国"><img src="" style="width:XXpx;height:xxpx;"/></a></dd> <dl> </div>
2. 不带参数调用默认是宽300px; 高250px; 文本高25px;
预览效果