$.fn.extend({ // 双排滚动 twin: function(obj) { var oUl = $(this).find('ul'); var oLi = $(this).find('ul li'); var index = 0; var oLiLength = Math.ceil(oLi.length / 2); var ThisClass = '.' + $(this).attr('class') oUl.css('width', obj.pageWidth * oLiLength + 'px') oLi.eq(oLiLength).addClass('cl') function fn2() { index == oLiLength - obj.num ? index = 0 : index++; oUl.stop().animate({ left: -obj.pageWidth * index }, obj.speed); } if (obj.autoplay) { var timers = setInterval(fn2, obj.slideTime); } $(this).hover(function() { clearInterval(timers) }, function() { timers = setInterval(fn2, obj.slideTime) }); $(ThisClass + ' .next').click(function() { index == 0 ? index = oLiLength - obj.num : index-- oUl.stop().animate({ left: -obj.pageWidth * index }, obj.speed); }); $(ThisClass + ' .prev').click(function() { fn2() }); }, // 单排滚动 single: function(obj) { var oUl = $(this).find('ul'); var oLi = $(this).find('ul li'); var oPageSize = $(this).find('.pagesize'); var oLiLength = oLi.length; var ThisClass = '.' + $(this).attr('class'); for (var i = 0; i < oLiLength; i++) { oPageSize.append('') } for (var j = 0; j < obj.num; j++) { oUl.append('
  • ' + oLi.eq(j).html() + '
  • '); } for (var k = oLi.length - 1; k >= oLi.length - obj.num; k--) { oUl.prepend('
  • ' + oLi.eq(k).html() + '
  • '); } var index = obj.num; oUl.css('left', -obj.pageWidth * obj.num + 'px') oPageSize.find('span').eq(0).addClass('on') function fn1() { index == oLiLength + obj.num ? index = obj.num : index++; if (index == oLiLength + obj.num) { oUl.stop().animate({ left: -obj.pageWidth * index }, obj.speed, function() { index = obj.num; oUl.css('left', -obj.pageWidth * obj.num); }) oPageSize.find('span').eq(0).addClass('on').siblings('span').removeClass('on') } else { oUl.stop().animate({ left: -obj.pageWidth * index }, obj.speed); oPageSize.find('span').eq(index - obj.num).addClass('on').siblings('span').removeClass('on') } } function fn2() { index == 0 ? index = oLiLength - 1 : index--; if (index == 0) { oUl.stop().animate({ left: -obj.pageWidth * index }, obj.speed, function() { index = oLiLength; oUl.css('left', -obj.pageWidth * oLiLength); }) oPageSize.find('span').eq(obj.num - 1).addClass('on').siblings('span').removeClass('on') } else { oUl.stop().animate({ left: -obj.pageWidth * index }, obj.speed); var page; if (index > obj.num - 1) { page = index - obj.num } else { page = index + obj.num - 1 } oPageSize.find('span').eq(page).addClass('on').siblings('span').removeClass('on') } } console.log(111) console.log(ThisClass) $(ThisClass + ' .next').click(function() { fn2() }); $(ThisClass + ' .prev').click(function() { fn1() }); oPageSize.find('span').click(function() { var oSpanPage = $(this).index(); index = oSpanPage + obj.num oUl.stop().animate({ left: -obj.pageWidth * index }, obj.speed); oPageSize.find('span').eq(oSpanPage).addClass('on').siblings('span').removeClass('on') }) if (obj.autoplay) { var timers = setInterval(fn1, obj.slideTime); } $(this).hover(function() { clearInterval(timers) }, function() { timers = setInterval(fn1, obj.slideTime) }); }, // 头部大图--淡入淡出 fade: function(obj) { var oUl = $(this).find('ul'); var oLi = $(this).find('ul li'); var oPageSize = $(this).find('.pagesize'); var oLiLength = oLi.length; var ThisClass = '.' + $(this).attr('class'); var index = 0; for (var i = 0; i < oLiLength; i++) { oPageSize.append('') } oPageSize.find('span').eq(0).addClass('on'); function fn1() { index == oLiLength - 1 ? index = 0 : index++; oLi.eq(index).fadeIn(obj.speed).siblings('li').hide(); oPageSize.find('span').eq(index).addClass('on').siblings('span').removeClass('on'); console.log(index) } function fn2() { index == 0 ? index = oLiLength - 1 : index--; oLi.eq(index).fadeIn(obj.speed).siblings('li').hide(); oPageSize.find('span').eq(index).addClass('on').siblings('span').removeClass('on'); console.log(index) } $(ThisClass + ' .next').click(function() { fn2() }); $(ThisClass + ' .prev').click(function() { fn1() }); oPageSize.find('span').click(function() { index = $(this).index(); oLi.eq(index).fadeIn(obj.speed).siblings('li').hide(); oPageSize.find('span').eq(index).addClass('on').siblings('span').removeClass('on'); }) if (obj.autoplay) { var timers = setInterval(fn1, obj.slideTime); } $(this).hover(function() { clearInterval(timers) }, function() { timers = setInterval(fn1, obj.slideTime) }); }, // 头部大图--左滑动切换(slider) slider: function(obj) { var oUl = $(this).find('ul'); var oLi = $(this).find('ul li'); var oPageSize = $(this).find('.pagesize'); var oLiLength = oLi.length; var ThisClass = '.' + $(this).attr('class'); var index = 1; oLi.eq(0).show(); for (var i = 0; i < oLiLength; i++) { oPageSize.append('') } oUl.append('
  • ' + oLi.eq(0).html() + '
  • '); oUl.prepend('
  • ' + oLi.eq(oLiLength - 1).html() + '
  • '); oUl.css('left', -obj.pageWidth + 'px'); oPageSize.find('span').eq(0).addClass('on'); oUl.css('left', "-100%"); function fn1() { index == oLiLength + 1 ? index = 1 : index++; if (index < oLiLength + 1) { oUl.stop().animate({ left: -100 * index + '%' }, obj.speed); oPageSize.find('span').eq(index - 1).addClass('on').siblings('span').removeClass('on'); } else { oPageSize.find('span').eq(0).addClass('on').siblings('span').removeClass('on'); oUl.stop().animate({ left: -100 * index + '%' }, obj.speed, function() { index = 1; oUl.css('left', "-100%"); }) } } function fn2() { index == 0 ? index = oLiLength : index--; if (index > 0) { oUl.stop().animate({ left: -100 * index + '%' }, obj.speed); oPageSize.find('span').eq(index - 1).addClass('on').siblings('span').removeClass('on'); } else { oPageSize.find('span').eq(index - 1).addClass('on').siblings('span').removeClass('on'); oUl.stop().animate({ left: 0 }, obj.speed, function() { index = oLiLength; oUl.css('left', -oLiLength * 100 + '%') }) } } $(ThisClass + ' .next').click(function() { fn2() }); $(ThisClass + ' .prev').click(function() { fn1() }); oPageSize.find('span').click(function() { var oSpanPage = $(this).index(); index = oSpanPage + 1; oUl.stop().animate({ left: -100 * index + '%' }, obj.speed); oPageSize.find('span').eq(oSpanPage).addClass('on').siblings('span').removeClass('on'); }) if (obj.autoplay) { var timers = setInterval(fn1, obj.slideTime); } $(this).hover(function() { clearInterval(timers) }, function() { timers = setInterval(fn1, obj.slideTime) }); } })