Я делаю слайд-шоу с jQuery. Я использую значки jquery ui как кнопку воспроизведения/паузы и так далее. поэтому у меня есть этот код:jquery toggleClass меняется только один раз
$(function(){
$(".controls").hide(); //Hide controls
$(".slider").hover(function(){
$(".controls").fadeIn(500);
}, function(){
$(".controls").fadeOut(500);
}); // show controls on hover
$(".play").click(function(){
$(".slider").attr({'data-running' : 'true', 'data-paused' : 'false'});
$(this).toggleClass("ui-icon-play ui-icon-pause play pause");
});
$(".pause").click(function(){
$(".slider").attr({'data-running' : 'false', 'data-paused' : 'true'});
$(this).toggleClass("ui-icon-play ui-icon-pause play pause");
}); //Add play/pause functionality
});
HTML:
<div class="slider-wrap">
<div class="slider" data-running="false" data-paused="true">
<img class="starter-img" src="http://images.freeimages.com/images/previews/e16/tree-1533498.jpg" />
<a href="http://labs.blogs.com/.a/6a00d8341caed853ef016768796ee4970b-pi" role="img-data"></a>
<a href="http://www.successconnections.com/articles/wp-content/uploads/2013/04/technology.jpg" role="img-data"></a>
<span class="controls">
<span class="ui-icon ui-icon-circle-triangle-w prev control"></span>
<span class="ui-icon ui-icon-play play control"></span>
<span class="ui-icon ui-icon-circle-triangle-e seek-for control">
</span>
</div>
</div>
В первый раз я нажимаю на кнопку воспроизведения, он переключает атрибут data-running
к true
, атрибут для false
data-paused
, и это собственный класс до ui-icon-pause pause
, как и должно быть. Но когда я нажимаю его снова, это собственные изменения класса, но data-running
и data-paused
не меняются. Почему не происходит изменение атрибута? FIDDLE
Спасибо, теперь я могу двигаться дальше с моей слайд-шоу :) – TricksfortheWeb
@ Yak613 может пометить это как правильно то? – wkcamp
Да, в прошлый раз, я проверил, что не могу отметить это. не знаю, почему они это делают. – TricksfortheWeb