1

我正在研究一个 wordpress 投资组合,我正在尝试使用 ajax/jquery 将帖子内容加载到滑动抽屉中.load()。在@techfoobar 的帮助下,当我单击页面的选定元素(缩略图)时,我已经能够打开抽屉了。但是现在我很难找到为什么我的 ajax 内容没有加载到这个 div 中......

当我点击缩略图时,抽屉被打开,然后浏览器继续到 url,而不是加载这个 url抽屉。如果我按 Esc 停止浏览器,我可以读取“正在加载...”,因此 jQuery 一直工作到那时。

有人可以检查这个小提琴 http://jsfiddle.net/RF6df/14/并告诉我是否放错了加载功能,或者是否存在严重的语法问题阻止我的内容正确加载?(我假设负载不会在 jsfiddle 上工作,但至少你可以检查代码)

仅供参考,在第一次尝试 ajax 时,我使用它来加载我的内容,它工作正常,但我的 div 已经在我的 php 页面中就位(检测到点击时未加载)。
哦,请记住,我是 jquery 的新手,如果您可以评论/解释您所看到或所做的,那将是无价的!

$(document).ready(function(){
    $.ajaxSetup({cache:false});
    $(".ProjectWrap,.mosaic-overlay,.mosaic-backdrop").click(function(){
        var post_link = $(this).attr("href");
        //$('#DrawerContainer').slideToggle(500);
        $("#DrawerContainer").html("loading...");
        $("#DrawerContainer").load(post_link + " #container > * ");
    return false;
    });
});
$(document).ajaxSuccess(function() {  // refresh heading in ajax called element
Cufon('h1'); 
});

编辑:
我刚刚注意到,当我写.load("http://localhost/youpiemonday_New/test4 #container > * ")抽屉时,获取 test4 帖子的内容。我仍然必须按 Esc 来停止浏览器,否则它太快了。
如果我写.load(post_link + " #container > * ")了唯一显示的是“正在加载...”。所以我假设负载正在工作,但问题来自post_link部件。奇怪的是,当我的功能严格限制为负载时,它就可以正常工作。

4

1 回答 1

1

我想我看到了你的问题。.ProjectWrapli是吗?如果是这样,您要做的是从没有 href 属性的 LI 获取 href。

试试这个:

var post_link = $(this)
                 .parentsUntil(".ProjectWrap")
                 .parent()
                 .find(".mosaic-backdrop")
                 .attr("href");

这是在说:为此(.ProjectWrapper)找到<a />并获取href。

于 2012-10-19T14:57:59.420 回答