1

大家好,

我正在尝试将“页面 B”中的#somediv 中的元素加载到我的 index.html 文件中的主 #content div 中。

我已经尝试阅读该网站上的多个帖子,但我似乎无法弄清楚我做错了什么。我是 jquery 的新手,所以这可能解释了我的无能!

无论如何:在我的主页上使用 Pretty Photo 链接可以正常工作

我有 jQuery.js、prettyphoto.js 和 css 等的相关链接……一切都运行良好。

在“页面 B”上,我试图将 #somediv 的内容带到我的 index.html #content div 中 - 我也有相关的链接,漂亮的照片也可以在该页面上正常工作。

我的问题:我正在使用这个函数(从我的 index.html 页面调用并位于一个外部文件中,如果有帮助,我会从我的 index.html 页面的头部调用)来加载外部的内容(但在相同的域)页面。

   $(document).ready(function() {
  $("#EVL_1").click(function(event){
   $('#content').load('INFO_du.html #EVL_1');
    $("a[rel^='prettyPhoto']").prettyPhoto(); 
  });
  $("#EVL_2").click(function(event){
    $('#content').load('INFO_du.html #EVL_2');
    $("a[rel^='prettyPhoto']").prettyPhoto(); 
  });  });

并单击“页面 B”#somediv 中包含的链接,该链接通过 .load 使用此脚本加载到我的 index.html 页面中(见下文)

<span class="file"><a href="Dry_Utility/test.html?iframe=true&width=100%&height=100%" rel="prettyPhoto[test]" title="A very old Sample for illustrative purposes!">Test - regular HTML</a></span>

可以正常加载外部 div,并且在使用 IE 的桌面上,当我单击链接时会弹出漂亮的照片,

但是当我将它上传到我的服务器并尝试它时,上面的 test.html 链接没有以漂亮的照片打开 - 它在一个新窗口中打开?(使用 IE、Chrome 和 Firefox)所以我肯定错过了一些东西:

通过阅读这里的所有条目,我发现我必须在 .load 函数之后以某种方式调用 prettyphoto javascript“我认为”。那是当我在 .load 部分之后添加以下行并且它在我的桌面上工作(但没有其他地方!)

        $("a[rel^='prettyPhoto']").prettyPhoto(); 

我整天都在尝试我在这个网站上找到的不同的东西,但在我完成 .load 并将 div 带到我的主页后,我无法弄清楚如何使这项工作正常工作并让 prettyphoto.js 加载。

抱歉,如果这真的很愚蠢,我只是不明白吗?

最后一个想法:我使用 .load 来引入#somediv,其中包含上面指向第三页(也在同一域上)test.html 的链接(也许这就是我的问题?)

4

2 回答 2

1

我相信您遇到了麻烦,因为“负载”不会立即返回。将您对 prettyPhoto 的调用放入成功回调中,我认为它会起作用!

更具体地说,在您的本地测试环境中,它会立即返回。但是在服务器上,它只需要一点时间,所以当您调用 .prettyPhoto 元素时,您的 HTML 不在文档中。说得通?

http://api.jquery.com/load/

$('#result').load('ajax/test.html', function() {
  alert('Load was performed.');
});
于 2011-02-12T08:39:25.183 回答
0

感谢道森的指导:

它现在可以工作了 - 见下文(只需确保我在 test.html 页面的头部有 css 文件,我们很好!)

使用了这个功能:

            $(document).ready(function() {   
            $("#EVL_1b").click(function(event){    
                $('#content').load('INFO_du.html #EVL_1b', function() {     
                $("a[rel^='prettyPhoto']").prettyPhoto();    
                });
            });
        });

和这个链接(为了摆脱 ;return false,当我阅读这个网站时,这听起来是个坏主意)

<a href="#" id="EVL_1b">EVL_1b</a>

再次感谢你的帮助!!!

于 2011-02-14T17:53:56.423 回答