Я определил функцию в javascript для отображения ползунка jQuery следующим образом:
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
function loadSliders(){
$(".slider-range").slider({
range: true,
min: 0,
max: 100,
values: [20, 80],
slide: function( event, ui ) {
// find any element with class .amount WITHIN scope of $this
$(this).parent().find(".amount").html(ui.values[ 0 ] + " - " + ui.values[ 1 ]);
}
});
}
$(document).ready(function() {
loadSliders();
});
</script>
Я использую это в своем HTML-коде следующим образом:
<span class="amount"> </span>
<div class="slider-range"> </div>
Приведенный выше код отображает ползунок, и когда я перемещаю его, я также вижу, как меняются значения. Похоже, что все работает нормально.
Но затем я добавил еще одну функцию writeQuestions()
к своему <script>
следующим образом:
<script>
function writeQuestions(){
question_html = '<span class="amount"> </span><div class="slider-range"> </div>';
document.getElementById("questions").innerHTML = question_html;
}
function loadSliders(){
$(".slider-range").slider({
range: true,
min: 0,
max: 100,
values: [20, 80],
slide: function( event, ui ) {
// find any element with class .amount WITHIN scope of $this
$(this).parent().find(".amount").html(ui.values[ 0 ] + " - " + ui.values[ 1 ]);
}
});
}
$(document).ready(function() {
loadSliders();
writeQuestions();
});
</script>
А теперь, когда я запускаю HTML следующим образом:
<div id="questions"></div>
Ползунок не отображается. Зачем?? Причину, по которой я это делаю, трудно объяснить, поскольку мне нужно добавить кучу вещей в функцию writeQuestions (), и я хочу иметь возможность использовать это. Мне кажется, что команда .innerHTML
вызывает некоторые проблемы. Любые идеи, как я могу решить эту проблему?