0

我想加载一个带有 AJAX 调用结果的页面,它工作正常,但对于每个结果,还应该有一个 jQuery 滑块。如果我创建一个静态 php 页面并显示结果,则代码可以正常工作。但是当我将结果加载到另一个页面时,滑块没有出现。它的位置有效,并console.log(s)告诉我滑块正在更新,但视觉上没有实际的滑块。

我在 Stackoverflow 上发现了一些帖子提到您需要使用.page(),但我在 jQuery 的网站上找不到关于此的信息。

有没有人通过 AJAX 请求动态创建滑块的经验?有没有更好的方法?

滑块用于自定义音频播放器。

提前致谢。

编辑:添加代码

编辑: $('.slider').slider();添加

编辑:不需要响应页面

主页:

function showInfoTracks(){
    ajaxConnection.onreadystatechange = function(){
        if (ajaxConnection.readyState == 4 && ajaxConnection.status == 200) {
AJAX RESPONSE               
        }
    }
    ajaxConnection.open("GET", "file.php, true);
    ajaxConnection.send();
}
4

2 回答 2

1

您的代码可能.page()会导致无限循环。这就是为什么它只是继续加载日志而不给出结果的原因。

这是一个链接。JQuery Mobile .page() 函数导致无限循环?

于 2012-11-12T18:06:48.467 回答
0

答案最终是在 AJAX 响应部分中定义滑块。

   $(document).ready(function() {

                $(document).on('mouseenter', '.playButton', function() {    
                    var newSliderID = this.id;
//Run this if so that you dont reload the same slider over and over again
                    if($("#sliderActivated"+newSliderID).val() == 0){
                        $("#sliderActivated"+newSliderID).val(1);
                        $( "#slider"+newSliderID ).slider({ 
                            animate: true ,
                            value: 0,
                            min: 0,
                            start: function( event, ui ) {
                                ...
                            },
                            slide: function( event, ui ) {
                                ...
                            },
                            stop: function( event, ui ) {
                                ...
                            }

                        });
                    }

                }); 
            });
于 2012-11-13T03:05:15.163 回答