1

我有一个div调用load-ajax-hotels,我试图在点击事件被触发后加载 php 文件。

说我正在尝试load alpha.php, beta.php, gamma.php ... delta.php

$("span.dessert-make").click(function(){    

        /* Load Initial Data */
        $(".ajax-load-hotels").load("./php/alpha.php");
                $.get("./php/beta.php", function(data){
                $(".ajax-load-hotels").append(data);
                 });
                $.get("./php/gamma.php", function(data){
                    $('.ajax-load-hotels').append(data);
                });
                $.get("./php/delta.php", function(data){
                    $('.ajax-load-hotels').append(data);
                }); 
        });

但是这个电话不能正常工作。我的意思是,在每个实例中,click event我都会得到不同的结果。有时只是alpha.php and beta.php显示有时每个 php 文件重复出现。每次都是随机的。有人可以告诉我问题是什么吗?

以及如何在用户向下滚动到页面底部时加载 php 文件。如何实现此scrollTo()方法。一旦窗口调整大小,x 和 y pos 就会变得不同。

对不起。我可能忽略了这一点。我纠正了它。

4

2 回答 2

1

假设您尝试按顺序(同步)加载这些内容,我可能会使用以下内容:

function load_pages(index, pages) {
  $.get("./php/" + pages[index] + ".php", function(data) {
    $(".ajax-load-hotels").append(data);
    if (index + 1 < pages.length) {
        load_pages(index + 1, pages);
    }
  })
}

$("span.dessert-make").click(function(){  
  load_pages(0, ["alpha", "gamma", "delta"]);
});
于 2013-10-17T07:29:05.033 回答
1

你错过})

  $.get("./php/2.php", function(data){
        $(".ajax-load-hotels").append(data); // here is missed });

  $.get("./php/3.php", function(data){
         $('.ajax-load-hotels').append(data);
  });

正确的:

$.get("./php/2.php", function(data){
     $(".ajax-load-hotels").append(data);
});

$.get("./php/3.php", function(data){
     $('.ajax-load-hotels').append(data);
});

编辑1:

而且,$.get异步的。

为了使其同步(我仅提供了一个示例):

$.ajax({
  url: urltophp,
  async: false,
  success: function(data) { $(".ajax-load-hotels").append(data) },
  dataType: 'html'
});
于 2013-10-17T07:26:11.223 回答