UNPKG

zoomla

Version:

16年专业研发|中文alexa排名第一的CMS品牌-基于dotNET core、功能强大,集成站群、微信开发、小程序与ERP及OA办公系统,支持国际语言和多民族语言,世界五百强与大型门户专用高端网站内核CMS系统

86 lines (85 loc) 3.75 kB
//���������� (function ($) { var default_setting = { subject: 'Default', cardw: 130, cardh: 40, cardn: 7, margin: 9 } function effect() { var target = this; target.find('.slide-wrap').hover(function () { target.find('.shift').addClass('shift-active'); target.find('i').addClass('i-active'); }, function () { target.find('.shift').removeClass('shift-active'); target.find('i').removeClass('i-active'); }); target.find('.right').hover(function () { target.find('.slide').addClass('slide-active-r'); }, function () { target.find('.slide').removeClass('slide-active-r'); }); target.find('.left').hover(function () { target.find('.slide').addClass('slide-active-l'); }, function () { target.find('.slide').removeClass('slide-active-l'); }); target.find('.shift').hover(function () { target.find('i').addClass('i-active-move'); }, function () { target.find('i').removeClass('i-active-move'); }); } function init(cus_setting) { var init_setting = $.extend({}, default_setting, cus_setting || {}); var slidewraph = init_setting.cardh + 5; var covered = init_setting.cardw - 33 var boxw = init_setting.cardw * init_setting.cardn + init_setting.margin * (init_setting.cardn - 1) - covered * 2; var singlemove = (init_setting.cardw + init_setting.margin) * (init_setting.cardn - 2); var listn = init_setting.JSON[init_setting.subject].length; var boundary = (init_setting.cardw + init_setting.margin) * (listn) - singlemove; var target = this; var sliderframestring = '<div class =\'slide-wrap\'><div class=\'border\'><div class=\'slide\'><div class=\'shift right\'></div><i class=\'shift right\'></i><div class=\'shift left\'></div><i class =\'shift left\'></i><ul><li></li><li></li></ul></div></div></div>'; var sliderhtml = $(sliderframestring); sliderhtml.appendTo(target); $.each(init_setting.JSON[init_setting.subject], function (i, field) { target.find('ul>li:first').after('<li><div class=\'title\'>' + field.title + '</div></li>'); }); target.width(boxw); target.find('.slide-wrap').height(slidewraph); target.find('ul').css({ left: -covered }); target.find('li').css("margin-right", init_setting.margin); target.find('li').width(init_setting.cardw); target.find('li').height(init_setting.cardh); target.find('img').width(init_setting.cardw); target.find('img').height(init_setting.cardh); target.find('.title').width(init_setting.cardw); effect.call(target); var movement = 0; target.find('.right').click(function (event) { if (Math.abs(movement) < boundary) movement -= singlemove; target.find('ul').hover().css('transform', 'translateX(' + movement + 'px)'); }); target.find('.left').click(function (event) { if (movement < 0) movement += singlemove; target.find('ul').hover().css('transform', 'translateX(' + movement + 'px)'); }); } $.fn.slider = function (setting) { if (setting && typeof setting === 'object') { init.call(this, setting); } else if (!setting) { init.call(this); } }; })(jQuery)