jQuery Slider在jQuery弹出窗口中只初始化一次

jQuery Sliders only initialize one time within a jQuery popup

本文关键字:jQuery 一次 初始化 Slider 窗口      更新时间:2023-09-26

我有几个jQuery滑块对象。它们生活在一个php脚本中,通过$.get调用该脚本来填充jQuery弹出框。弹出窗口由主页上的按钮触发。第一次调用jQuery弹出框时,滑块会完全初始化。但是,如果我再次单击按钮第二次调用弹出框,滑块不会初始化。知道是什么原因导致了这个问题吗?

以下是php脚本中的相关代码,用于填充弹出框的html:

<?php
echo <<<EOD
    Fleet Persistence: <br><br><br>
    <div id="persistence-slider">Testy Test Test</div><br><br><br>
    Fleet Spread: <br>
    <div id="spread-slider"></div>
    Fleet Behavior: <br>
EOD;
?>
<script>
    sliders();
    function sliders(){
        slider = $( "#persistence-slider" );
        slider.slider();
        $("#spread-slider").slider()
        alert("slidersdone");
    }
</script>

我会在$.get()调用之后立即使用.done()方法来重新应用滑块。

$.get('http://yourajax.call').done(function(){
    $("#persistence-slider").slider();
    $("#spread-slider").slider()
});

发现问题。我错误地为弹出框创建了/div/两次。这导致了各种奇怪的错误,包括这一个。我想,问题是jQuery对我试图调用的是哪一个感到困惑,并在不同的时间初始化了两个框。现在已经解决了。不过,谢谢你的帮助。