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); //为当前的按钮切换到选中的效果
}
}