function bannerppt(jso) { var pptid = "#"+jso.pptid; var pptobj = $(pptid); var pptpic = $(jso.pic); var sWidth = pptpic.width(); //获取焦点图的宽度(显示面积) var len = pptobj.find("ul li").length; //获取焦点图个数 var index = 0; var picTimer; //以下代码添加数字按钮和按钮后的半透明条,还有上一页、下一页两个按钮 var btn = "
"; for (var i = 0; i < len; i++) { btn += ""; } btn += "
"; //btn='' pptobj.append(btn); pptpic.append("
"); //pptobj.find(".btnBg").css("opacity", 0.5); //为小按钮添加鼠标滑入事件,以显示相应的内容 pptobj.find(".btn span").css("opacity", 0.4).mouseover(function () { index = pptobj.find(".btn span").index(this); showPics(index); }).eq(0).trigger("mouseover"); //上一页、下一页按钮透明度处理 pptobj.find(".preNext").css("opacity", 0.2).hover(function () { $(this).stop(true, false).animate({ "opacity": "0.5" }, 150); }, function () { $(this).stop(true, false).animate({ "opacity": "0.2" }, 150); }); //上一页按钮 pptobj.find(".pre").click(function () { index -= 1; if (index == -1) { index = len - 1; } showPics(index); }); //下一页按钮 pptobj.find(".next").click(function () { index += 1; if (index == len) { index = 0; } showPics(index); }); //本例为左右滚动,即所有li元素都是在同一排向左浮动,所以这里需要计算出外围ul元素的宽度 pptobj.find("ul").css("width", sWidth * (len)); //鼠标滑上焦点图时停止自动播放,滑出时开始自动播放 pptobj.hover(function () { clearInterval(picTimer); }, function () { picTimer = setInterval(function () { showPics(index); index++; if (index == len) { index = 0; } }, jso.time); //此4000代表自动播放的间隔,单位:毫秒 }).trigger("mouseleave"); //显示图片函数,根据接收的index值显示相应的内容 function showPics(index) { //普通切换 var nowLeft = -index * sWidth; //根据index值计算ul元素的left值 pptobj.find("ul").stop(true, false).animate({ "left": nowLeft }, 1000); //通过animate()调整ul元素滚动到计算出的position //$("#bannerppt .btn span").removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果 pptobj.find(".btn span").stop(true, false).animate({ "opacity": "0.4" }, 1000).eq(index).stop(true, false).animate({ "opacity": "1" }, 1000); //为当前的按钮切换到选中的效果 } }