使用.load()只加载一个请求加载多个项目?

时间:2011-10-04 02:14:47

标签: jquery

当我在load()函数中使用load()从另一个页面加载不同的元素时,我有两个请求。

我怎样才能合而为一?喜欢这个想法:

$mainContent.load(newHash + " .first"," .second", function() { });

导致我遇到的问题是我用联系表单加载的页面发送了两次因为我“认为”它被加载了两次。

下面是完整的代码片段:

if (newHash) {

            $claim.find("#claim").find("p").fadeTo(200,0);

            $mainContent.find(".maincontent").fadeTo(200,0, function() {

                $mainContent.fadeTo(0,0).load(newHash + " .maincontent", function() {

                        $claim.find("#claim").find("p").fadeTo(0,0, function() {

                            $claim.load(newHash + " #claim", function() {

                                $("#claim").fadeTo(0,0).fadeTo(200,1);

                                $mainContent.fadeTo(200,1);
                            });

                        });                
                });
            });   
        };

那么如何只用一个.load()请求加载多个不同的项目呢?

这可能吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

这有效:

$mainContent.load(newHash + " .first, .second", function() { });

答案就在这里:

Jquery Multiple load in a DIV

答案 1 :(得分:0)

它必须是一个单独的.load,然后function()可以是一个单独的函数,一旦所有.loads完成就会运行。你必须专注于function()部分,而不是你如何攻击它。或者另一种选择是在实际文件中进行多次加载,但我确定你已经想到了那个。 ;)

这是你要做的一种方法,你可以操作i变量和相应的函数:

    <script type="text/javascript">
    var i=0;
    while (i<=5)
      {
      document.write("The number is " + i);
      document.write("<br />");
      i++;
      }
    </script>