所以,我有这个<div>
,其中包含了我的博文。它的类是.post
。我想要做的是,每当有人点击小部件区域的最近帖子时,内容都是通过Ajax加载而不是刷新页面。
这是我的代码
jQuery(function()
{
jQuery(".umrp-list li a").click(function(){ //here I select the links of the widget
var post_url = jQuery(this).attr("href");
jQuery(".post").html('<div class="loading">Loading Content...</div>');
jQuery(".post").load(post_url);
return false;
});
});
所以我有两个问题
每当我点击“最近的帖子”链接时,内容会加载我要加载的位置,但点击后我的网页会空闲/冻结约2秒钟。为什么会这样?
当我第一次点击时,除了上面描述的细节之外,一切都有效。当我第二次点击(另一个链接甚至相同)时,它不是加载我点击的帖子,而是将我的整个网页加载到.post
容器上。有没有想过为什么会这样?
答案 0 :(得分:1)
听起来你正在同步发送请求。同步操作是阻塞的,而异步操作允许UI在操作在幕后完成时继续运行。
至于第二个问题,听起来像jQuery(this)以某种方式指向文档而不是元素的上下文。第二次检查你的“this”值,它可能会为你提供一些见解。
答案 1 :(得分:0)
所以问题是在single.php
(这是存储博客文章模板的地方),我忘了删除<?php get_header(); ?>
和<?php get_footer(); ?>
现在一切都很棒!