Я пытаюсь добавлять новые значения в элемент #current
каждый раз, когда нажимается кнопка.Затем элемент #current
передает это значение предыдущим элементам div.
Однако проблема, с которой я здесь сталкиваюсь, заключается в том, что я получаю значения и передаю их предыдущим элементам div, но значение на #current
не меняется и остается неизменным до завершения цикла.
Я хочу, чтобы элемент #current
получал новое значение при каждом нажатии кнопки, и это новое значение продолжает передаваться в prev
деления.
// Click-1:
value out:
1:
2:
3:
4:
5:
new value every click: 1234
// Click-2:
value out:
1:
2:
3:
4:
5: 1234
new value every click: 2255
// Click-3:
value out:
1:
2:
3:
4: 1234
5: 2255
new value every click: 3245
// Click-4:
value out:
1:
2:
3: 1234
4: 2255
5: 3245
new value every click: 1413
Это код:
$('button').click(function() {
var $target = $('div.active');
if (!$target.length) {
$('#current').text(Math.floor((Math.random() * 10000) + 1)).addClass('active');
} else {
$target.removeClass('active');
$target.prev('div').addClass('active').text($target.text());
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>Click</button>
<br/><br/>
<div id="out">value out:</div>
<div id="1">1: </div>
<div id="2">2: </div>
<div id="3">3: </div>
<div id="4">4: </div>
<div id="5">5: </div>
<div id="current">new value every click:</div>
Вот ссылка JSFiddle: https://jsfiddle.net/a26s5oxg/2/
Заранее спасибо за ваше время и помощь