Я делаю список (например, список воспроизведения), состоящий из нескольких элементов div. Каждый div с идентификатором, подобным segmentN
, должен анимировать свойство width
.
Div - это места в порядке (сегмент1, сегмент2, сегмент3 ...). Только 1 div должен быть анимирован за один раз, и следующий div должен анимировать, когда кнопка нажата, кроме того, если воспроизводится анимация, то должен остановиться.
Все div являются результатом al oop, поэтому мне нужно использовать одну и ту же jQuery -функцию для всех элементов div. Как я могу сделать это и запустить следующую анимацию при нажатии кнопки?
Вот код JSFiddle: https://jsfiddle.net/bz9vn7c4/1/
HTML:
<div id="package_list">
<div id="package1" class="package">
<div id="segment1" class="type1 segment" value="200px">PKG1 TYPE1</div>
<div id="segment2" class="type2 segment" value="300">PKG1 TYPE2</div>
<div id="segment3" class="type1 segment" value="100">PKG1 TYPE1</div>
</div>
<div id="package2" class="package">
<div id="segment4" class="type1 segment" value="400">PKG2 TYPE1</div>
</div>
<div id="package3" class="package">
<div id="segment5" class="type1 segment" value="100">PKG3 TYPE1</div>
<div id="segment6" class="type3 segment" value="200">PKG3 TYPE3</div>
</div>
<div id="package4" class="package">
<div id="segment7" class="type1 segment" value="150">PKG4 TYPE1</div>
<div id="segment8" class="type2 segment" value="250">PKG4 TYPE2</div>
<div id="segment9" class="type1 segment" value="100">PKG4 TYPE1</div>
</div>
</div>
<div id="next_btn">[ BUTTON ]</div>
CSS:
.package_list {
}
.package {
width: 100%;
}
.segment {
display: inline-block;
}
.type1 {
background-color: aqua;
width: 100px;
height: 100px;
}
.type2 {
background-color: chartreuse;
width: 100px;
height: 100px;
}
.type3 {
background-color: darkgoldenrod;
width: 100px;
height: 100px;
}
jQuery:
$(document).ready(function() {
$("#next_btn").click(function(){
$("#segment1").animate({width: "300px"}, 30000, "linear" );
});
});