Попробуйте это ( demo ) ... Я также извлек внутренний вызов loadAndPlayVideo:
$(document).ready(function(){
$('a.ml').click(function(){
loadAndPlayVideo( $(this).find('img').attr('id').replace(/thumb_/,'') );
return false;
});
var timer,
count = 0,
cycle = function(el){
var s = el.attr('src'),
root = s.substring( 0, s.lastIndexOf('/') + 1 );
count = (count+1)%4;
el.attr('src', root + ((count===0) ? 'default' : count) + '.jpg');
};
$('.mb img').hover(function(){
var $this = $(this);
cycle($this);
timer = setInterval(function(){ cycle($this); }, 1000);
}, function(){
clearInterval(timer);
});
});
HTML
<!-- changed the "moreVideos" id to class, assuming you'll have more than one block -->
<div class="moreVideos">
<span class="mb">
<a class="ml" href="#">
<img src="http://i.ytimg.com/vi/qrO4YZeyl0I/default.jpg" id="thumb_qrO4YZeyl0I" class="mvThumb" title="Lady Gaga - Bad Romance">
</a
</span>
<span class="mb">
<a class="ml" href="#">
<img title="Lady Gaga - Alejandro" class="mvThumb" id="thumb_niqrrmev4mA" src="http://i.ytimg.com/vi/niqrrmev4mA/default.jpg">
</a>
</span>
<span class="mb">
<a class="ml" href="#">
<img src="http://i.ytimg.com/vi/qrO4YZeyl0I/default.jpg" id="thumb_qrO4YZeyl0I" class="mvThumb" title="Lady Gaga - Bad Romance">
</a
</span>
<span class="mb">
<a class="ml" href="#">
<img title="Lady Gaga - Alejandro" class="mvThumb" id="thumb_niqrrmev4mA" src="http://i.ytimg.com/vi/niqrrmev4mA/default.jpg">
</a>
</span>
Обновление : чтобы иметь переменное число превью для каждого изображения, я обновил демо , также позволяя добавить атрибут data-thumbs
, содержащий либо имя файла (если все превью используют одно и то жекорневой URL-адрес) или полные URL-адреса для каждого большого пальца.
<img src="http://i.ytimg.com/vi/qrO4YZeyl0I/default.jpg" data-thumbs="default.jpg, 1.jpg, http://i.ytimg.com/vi/qrO4YZeyl0I/2.jpg, 3.jpg" id="thumb_qrO4YZeyl0I" class="mvThumb" title="Lady Gaga - Bad Romance">
Например, приведенное выше изображение будет работать только в том случае, если URL-адрес большого пальца «2.jpg» имеет тот же корень (http://i.ytimg.com/vi/qrO4YZeyl0I/
), что и используемыйв атрибуте "src", потому что код изменяет URL отображаемого в данный момент URL.Для изображений в разных местах используйте полный URL для каждого большого пальца в атрибуте data-thumbs
.
$(function() {
$('a.ml').click(function() {
loadAndPlayVideo($(this).find('img').attr('id').replace(/thumb_/, ''));
return false;
});
var timer;
function cycle(el) {
var s = el.attr('src'),
root = s.substring(0, s.lastIndexOf('/') + 1),
files = el.attr('data-thumbs').split(/\s*,\s*/),
count = parseInt(el.attr('data-count'), 10) || 0;
count = (count + 1) % files.length;
el.attr({
'src': files[count].indexOf('http') > -1 ? files[count] : root + files[count],
'data-count': count
});
}
$('.mb img').hover(function() {
var $this = $(this);
cycle($this);
timer = setInterval(function() {
cycle($this);
}, 1000);
}, function() {
clearInterval(timer);
});
});