; (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);