$(function() {
var time = 4; //进度条时间,以秒为单位,越小越快
var $progressBar, $progressBar1, $progressBar2, $bar, $bar1, $bar2, $elem, isPause, tick, percentTime, $elem1, isPause1, tick1, percentTime1, $elem2, isPause2, tick2, percentTime2;
$('.owl-carousel').owlCarousel({
navigation: true,
navigationText: ['', ''],
slideSpeed: 500,
paginationSpeed: 500,
singleItem: true,
afterInit: progressBar,
afterMove: moved,
startDragging: pauseOnDragging
});
$('.owl-carousel1').owlCarousel({
navigation: true,
navigationText: ['', ''],
slideSpeed: 500,
paginationSpeed: 500,
singleItem: true,
afterInit: progressBar1,
afterMove: moved1,
startDragging: pauseOnDragging1
});
$('.owl-carousel2').owlCarousel({
navigation: true,
navigationText: ['', ''],
slideSpeed: 500,
paginationSpeed: 500,
singleItem: true,
afterInit: progressBar2,
afterMove: moved2,
startDragging: pauseOnDragging2
});
function progressBar(elem) {
$elem = elem;
buildProgressBar();
start();
}
function progressBar1(elem1) {
$elem1 = elem1;
buildProgressBar1();
start1();
}
function progressBar2(elem2) {
$elem2 = elem2;
buildProgressBar2();
start2();
}
function buildProgressBar() {
$progressBar = $('
', {
id: 'progressBar'
});
$bar = $('
', {
id: 'bar'
});
$progressBar.append($bar).insertAfter($elem.children().eq(0));
}
function buildProgressBar1() {
$progressBar1 = $('
', {
id: 'progressBar1'
});
$bar1 = $('
', {
id: 'bar1'
});
$progressBar1.append($bar1).insertAfter($elem1.children().eq(0));
}
function buildProgressBar2() {
$progressBar2 = $('
', {
id: 'progressBar2'
});
$bar2 = $('
', {
id: 'bar2'
});
$progressBar2.append($bar2).insertAfter($elem2.children().eq(0));
}
function start() {
percentTime = 0;
isPause = false;
tick = setInterval(interval, 10);
}
function start1() {
percentTime1 = 0;
isPause1 = false;
tick1 = setInterval(interval1, 10);
}
function start2() {
percentTime2 = 0;
isPause2 = false;
tick2 = setInterval(interval2, 10);
}
function interval() {
if(isPause === false) {
percentTime += 1 / time;
$bar.css({
width: percentTime + '%'
});
if(percentTime >= 100) {
$elem.trigger('owl.next')
}
}
}
function interval1() {
if(isPause1 === false) {
percentTime1 += 1 / time;
$bar1.css({
width: percentTime1 + '%'
});
if(percentTime1 >= 100) {
$elem1.trigger('owl.next')
}
}
}
function interval2() {
if(isPause2 === false) {
percentTime2 += 1 / time;
$bar2.css({
width: percentTime2 + '%'
});
if(percentTime2 >= 100) {
$elem2.trigger('owl.next')
}
}
}
function pauseOnDragging() {
isPause = true;
}
function pauseOnDragging1() {
isPause1 = true;
}
function pauseOnDragging2() {
isPause2 = true;
}
function moved() {
clearTimeout(tick);
start();
}
function moved1() {
clearTimeout(tick1);
start1();
}
function moved2() {
clearTimeout(tick2);
start2();
}
$elem.on('mouseover', function() {
isPause = true;
})
$elem.on('mouseout', function() {
isPause = false;
});
$elem1.on('mouseover', function() {
isPause1 = true;
})
$elem1.on('mouseout', function() {
isPause1 = false;
});
$elem2.on('mouseover', function() {
isPause2 = true;
})
$elem2.on('mouseout', function() {
isPause2 = false;
});
});