我正在使用jQuery制作幻灯片。我使用jquery ui图标作为播放/暂停按钮等。因此,我有以下代码:
$(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”,将“data-paused”属性切换为“false”,并将自身类更改为“ui-icon-pause pause”,这正如应该的那样。但是,当我再次单击它时,它自己的类会更改,但是“data-running”和“data-paused”没有更改。为什么属性更改没有进行?FIDDLE