// var jq = $.noconflict(); var jq = $; jq.fn.banqh = function (can) { can = jq.extend({ box: null,//总框架 pic: null,//大图框架 pnum: null,//小图框架 prev_btn: null,//小图左箭头 next_btn: null,//小图右箭头 autoplay: false,//是否自动播放 intertime: 5000,//图片自动切换间隔 delaytime: 800,//切换一张图片时间 order: 0,//当前显示的图片(从0开始) picdire: true,//大图滚动方向(true水平方向滚动) mindire: true,//小图滚动方向(true水平方向滚动) min_picnum: null,//小图显示数量 }, can || {}); var picnum = jq(can.pic).find('ul li').length; var wb = picnum * 10; var picw = jq(can.pic).find('ul li').outerwidth(true); var pich = jq(can.pic).find('ul li').outerheight(true); var poppicw = jq(can.pop_pic).find('ul li').outerwidth(true); var picminnum = jq(can.pnum).find('ul li').length; var picpopnum = jq(can.pop_pic).find('ul li').length; var picminw = jq(can.pnum).find('ul li').outerwidth(true); var picminh = jq(can.pnum).find('ul li').outerheight(true); var pictime; var tpqhnum = 0; var xtqhnum = 0; var popnum = 0; jq(can.pic).find('ul').width(picnum * picw + wb).height(picnum * pich); jq(can.pnum).find('ul').width(picminnum * picminw).height(picminnum * picminh); jq(can.pop_pic).find('ul').width(picpopnum * poppicw); //点击小图切换大图 jq(can.pnum).find('li').click(function () { tpqhnum = xtqhnum = jq(can.pnum).find('li').index(this); show(tpqhnum); minshow(xtqhnum); }).eq(can.order).trigger("click"); if (can.autoplay == true) { //自动播放 pictime = setinterval(function () { show(tpqhnum); minshow(tpqhnum) tpqhnum++; xtqhnum++; if (tpqhnum == picnum) { tpqhnum = 0 }; if (xtqhnum == picminnum) { xtqhnum = 0 }; }, can.intertime); //鼠标经过停止播放 jq(can.box).hover(function () { clearinterval(pictime); }, function () { pictime = setinterval(function () { show(tpqhnum); minshow(tpqhnum) tpqhnum++; xtqhnum++; if (tpqhnum == picnum) { tpqhnum = 0 }; if (xtqhnum == picminnum) { xtqhnum = 0 }; }, can.intertime); }); } //小图左右切换 jq(can.prev_btn).click(function () { if (tpqhnum == 0) { tpqhnum = picnum }; if (xtqhnum == 0) { xtqhnum = picnum }; xtqhnum--; tpqhnum--; show(tpqhnum); minshow(xtqhnum); }) jq(can.next_btn).click(function () { if (tpqhnum == picnum - 1) { tpqhnum = -1 }; if (xtqhnum == picminnum - 1) { xtqhnum = -1 }; xtqhnum++; minshow(xtqhnum) tpqhnum++; show(tpqhnum); }) //小图切换过程 function minshow(xtqhnum) { var mingdjl_num = xtqhnum - can.min_picnum + 2 var mingdjl_w = -mingdjl_num * picminw; var mingdjl_h = -mingdjl_num * picminh; if (can.mindire == true) { jq(can.pnum).find('ul li').css('float', 'left'); if (picminnum > can.min_picnum) { if (xtqhnum < 2) { mingdjl_w = 0; } if (xtqhnum == picminnum - 1) { mingdjl_w = -(mingdjl_num - 1) * picminw; } jq(can.pnum).find('ul').stop().animate({ 'left': mingdjl_w }, can.delaytime); } } else { jq(can.pnum).find('ul li').css('float', 'none'); if (picminnum > can.min_picnum) { if (xtqhnum < 2) { mingdjl_h = 0; } if (xtqhnum == picminnum - 1) { mingdjl_h = -(mingdjl_num - 1) * picminh; } jq(can.pnum).find('ul').stop().animate({ 'top': mingdjl_h }, can.delaytime); } } } //大图切换过程 function show(tpqhnum) { var gdjl_w = -tpqhnum * picw; var gdjl_h = -tpqhnum * pich; if (can.picdire == true) { jq(can.pic).find('ul li').css('float', 'left'); jq(can.pic).find('ul').stop().animate({ 'left': gdjl_w }, can.delaytime); } else { jq(can.pic).find('ul').stop().animate({ 'top': gdjl_h }, can.delaytime); }//滚动 jq(can.pnum).find('li').eq(tpqhnum).addclass("on").siblings(this).removeclass("on"); }; }