【发布时间】:2012-04-20 09:16:15
【问题描述】:
我对 Ajax 和 JQuery 很陌生,所以请多多包涵。我在我的页面上通过 Ajax 加载内容,加载的内容里面有一个 jQuery 幻灯片。当我单击链接时,一切正常,内容出现,除了幻灯片之外的所有内容都没有开始。我需要再次单击该链接,幻灯片才能开始播放。
这是我目前的代码:
var loadUrl = "map_fr.html";
$("#loader").on('click',function(){
$("#conteudo_projects").html(ajax_load).load(loadUrl);
});
然后我选择一个带有 id="loader" 的链接来加载 #conteudo_projects DIV 中的内容。
谁能帮帮我?为什么幻灯片在第一次单击时不开始工作? (如果我直接在页面上测试幻灯片,它可以工作,所以我知道这没有问题,只有当我通过 Ajax 加载它时才会发生)。
非常感谢!
编辑:我安装了 Firebug,虽然我仍然不太了解它显示的所有内容,但我注意到在 Net>JS 下,我第一次单击链接时会收到 GET jQuery 请求 (ajax.googleapis.com ) 变灰。当我再次单击时,新请求似乎没问题。不知道这是否有帮助,我正在尽一切努力使这项工作。谢谢!
【问题讨论】:
-
ajax_load中有什么内容?此外,如果问题在于单击 AJAX 代码中的链接,那么查看该代码会更有帮助。 -
@JeffB 嗨,感谢您的反馈。 ajax_load 仅引用“加载”图像,以便在加载内容时向用户提供一些反馈:
var ajax_load = "<img class='loading' src='../assets/images/load.gif' alt='loading...' />";。The link I click to load the content is: <div id="mapping"> <div id="marker_pt"> <a id="loader"><img src="../assets/images/marker.png" class="marker_tool" title="France" /></a> </div> -
仅供参考 - 从 jQuery 1.7 开始, .live() 方法已被弃用。使用 .on() 附加事件处理程序。
-
@neo108 谢谢我已将其更改为 .on()
-
幻灯片放映的代码是什么?