Estou praticando tentando criar um slide-show (carousel) (código abaixo):
<ul class="slide-canvas wrap">
<li class="slide active" data-value="0">
<figure>
<img class="img-slide" src="img/slider/img-slide0.png">
<figcaption class="img-figcap">Your Text 0</figcaption>
</figure>
</li>
<li class="slide" data-value="1">
<figure>
<img class="img-slide" src="img/slider/img-slide1.png">
<figcaption class="img-figcap">Your Text 1</figcaption>
</figure>
</li>
<li class="slide" data-value="2">
<figure>
<img class="img-slide" src="img/slider/img-slide2.png">
<figcaption class="img-figcap">Your Text 2</figcaption>
</figure>
</li>
<li class="slide" data-value="3">
<figure>
<img class="img-slide" src="img/slider/img-slide3.png">
<figcaption class="img-figcap">Your Text 3</figcaption>
</figure>
</li>
</ul>
<ul class="controls-slide">
<li class="control-slide control-ative" data-value="0"></li>
<li class="control-slide" data-value="1"></li>
<li class="control-slide" data-value="2"></li>
<li class="control-slide" data-value="3"></li>
</ul>
function clearControl(){
$('.control-slide').removeClass('control-ative');
}
var controls = $('.control-slide');
controls.each(function(){
var control = $(this);
control.on('click', function(){
clearControl()
$(this).addClass('control-ative');
console.log($(this).data('value'));
})
})
Como veem, marquei o HTML com atributo "data-value" nas "li" que são o conteúdo do slide, e nos controles, assim quando determinado controle é clicado ele seleciona a "li"(slide) pelo "data-value", sempre resolvia assim esse problema com java script puro, porem ficava um código enorme, isso sem animações de "Fade In ou Fade Out", então qndo colocava... Estou tentando aplicar da maneira que vi nas aulas porem não encontro na documentação do Jquery um seletor de data semelhante ao "dataset" do JS puro, ou se existem outras maneiras mais praticas de manipular esse slide com as funções de animações e toggles do Jquery...