; (function ($) { $.fn.extend({ "daliSlide": function (options) { var obj = $(this); var speed = options.speed; var duration = options.duration; var dotname = options.dotname; var dottxt = options.dottxt; var direction = options.direction; var aroname = options.aroname; var dalitime; var vtime; var moving = false; var aro = 'next'; var objH = obj.height(); if (objH>0){ obj.find('ul').addClass('cover'); } if (obj.find('li').length > 1) { //鍒涘缓dot var pnum = obj.find('li').length; var dot = ''; var dott = ''; for (var i = 1; i <= pnum; i++) { dott = dottxt=='num' ? i : ''; dot+=''+dott+''; } dot = '
' + dot + '
'; obj.append(dot); obj.find('em:eq(0)').addClass('on'); //鍒涘缓绠ご if (aroname != '') { var aroleft = aroname.split(',')[0]; var aroright = aroname.split(',')[1]; obj.append('
') } } MoveFirst(); obj.find('em').click(function () { var inidx = $(this).index(); aro = inidx > obj.find('em.on').index() ? 'next' : 'prev'; if (!$(this).hasClass('on') && !moving) { MoveGo(inidx); } }) obj.find('.' + aroleft).click(function () { var index = obj.find('em.on').index(); index--; index < 0 && (index = obj.find('li').length - 1); aro = 'prev'; if (!moving) { MoveGo(index); } }) obj.find('.' + aroright).click(function () { var index = obj.find('em.on').index(); index++; index == obj.find('li').length && (index = 0) aro = 'next'; if (!moving) { MoveGo(index); } }) obj.find('.vodplay').click(function (e) { e.stopPropagation(); if (!moving){ var vodsrc=$(this).attr('data-src'); obj.after('
'); var vodbox=$('.vodbox'); vodbox.bind('contextmenu', function () { return false; }); if (dalitime) { clearTimeout(dalitime); } vodbox.fadeIn(); vodbox.children('video').trigger('play'); checkvodplay(vodbox); } }) $(document).on('click','.closevod',function(){ var vodbox=$(this).parent(); closevod(vodbox); }) obj.find('.playbtn').click(function(){ if (vtime) { clearInterval(vtime); } if (dalitime) { clearTimeout(dalitime); } }); function MoveGo(inidx) { moving = true; if (vtime) { clearInterval(vtime); } if (dalitime) { clearTimeout(dalitime); } obj.find('video.autovideo').trigger('pause'); var outidx = obj.find('em.on').index(); if (direction == 'fade') { obj.find('li').css({ "z-index": "0" }) obj.find('li').eq(inidx).css({ "z-index": "1", "left": "0", "display": "none" }).fadeIn('1000', function () { setboxheight(inidx,outidx); obj.find('li').eq(outidx).hide(); moving = false; }); } else if (direction == 'left') { var left = '100'; var moveto = '-=100'; if (aro == 'prev') { left = '-100'; moveto = '+=100'; } obj.find('li').eq(outidx).animate({ left: moveto + '%' }, duration, 'easeInOutExpo', function(){ $(this).hide(); }); obj.find('li').eq(inidx).css({ 'left': left + '%' }).show().animate({ left: moveto + '%' }, duration, 'easeInOutExpo',function(){ setboxheight(inidx,outidx); moving = false; }); } else if (direction == 'up') { var top = '100'; var moveto = '-=100'; if (aro == 'prev') { top = '-100'; moveto = '+=100'; } obj.find('li').eq(outidx).animate({ top: moveto + '%' }, duration, 'easeInOutExpo', function(){ $(this).hide(); }); obj.find('li').eq(inidx).css({ 'top': top + '%' }).show().animate({ top: moveto + '%' }, duration, 'easeInOutExpo',function(){ setboxheight(inidx,outidx); moving = false; }); } obj.find('em').eq(outidx).removeClass("on"); obj.find('em').eq(inidx).addClass("on"); } function MoveFirst(){ obj.find('li:eq(0)').css({ 'z-index': '1', 'left': 0 }).fadeIn(function(){ setboxheight(0, -1); }); } function setboxheight(inidx, outidx){ if (objH==0){ var h = obj.find('li').eq(inidx).outerHeight(); Doboxheight(h) obj.find('li').eq(inidx).find('img:eq(0)').load(function () { //娌℃湁缂撳瓨鏃朵細鎵цimg.load()鏂规硶锛屽姞杞藉嚭鍥剧墖鍚庯紝鍐嶈幏鍙栧浘鐗囧昂瀵 h = $(this).parents('li').outerHeight(); Doboxheight(h) }); } MoveOver(inidx, outidx); } function Doboxheight(h){ /* if (h > obj.height()) { obj.animate({ height: h }); } */ obj.animate({ height: h }); } function MoveOver(inidx, outidx){ options.callback && options.callback(inidx, outidx); aro = 'next'; if (obj.find('li').eq(inidx).find('video.autovideo').length > 0) { var vodbox = obj.find('li').eq(inidx); vodbox.find('video.autovideo').trigger('play'); checkvodplay(vodbox); } else { if (obj.find('li').length>1){ inidx++; inidx == obj.find('li').length && (inidx = 0) dalitime = setTimeout(function () { MoveGo(inidx) }, speed); } } } function checkvodplay(vodbox) { var vod = vodbox.find('video.autovideo').get(0); vtime = setInterval(function () { if (vod.paused) { closevod(vodbox) } }, 1) } function closevod(vodbox) { clearInterval(vtime); vodbox.children('video.autovideo').trigger('pause'); vodbox.remove(); setTimeout(function () { if (obj.find('li').length > 1) { var inidx = obj.find('em.on').index()+1; inidx == obj.find('li').length && (inidx = 0) obj.find('em').eq(inidx).click(); } }, 500) } } }); })(jQuery);