Ajax调用加载当前内容
Ajax call loads the current content
我浏览了很多论坛,绞尽脑汁想让这个超级简单的加载函数发挥作用。我已经将它缩小到我认为是loadContent
函数的.fadeIn()
部分的选择器问题。
我可以理解为什么它一直加载相同的东西,因为它使用相同的选择器,但基于我一直尝试使用的教程(http://css-tricks.com/rethinking-dynamic-page-replacing-content/)以及我开始工作的另一种(甚至更坏的)方法(基于此:http://code.tutsplus.com/tutorials/how-to-load-in-and-animate-content-with-jquery--net-26),它似乎应该工作!
我尝试过使用$(href)
作为选择器,但它只是淡入旧内容,不加载任何内容。我还尝试添加一个警报来查看href是什么,它返回了正确的html页面,后面跟着正确的元素id(Articles/Cats.html#content)。
这是函数本身,如果你需要更多信息,我很乐意提供!任何帮助都会非常有帮助!
function articleClickLoad () {
if (Modernizr.history) {
var newHash = "",
$Content = $("#content"),
$el;
$("#content").on("click", "a", function() {
var _link = $(this).attr("href");
var toLoad = $(this).attr('href')+' #content';
history.pushState(null, null, _link);
loadContent(toLoad);
return false;
});
function loadContent(href){
$Content.find("#content");
$Content.fadeOut(1000, function() {
$("main").load(href,'', function() {
$Content.fadeIn(1000);
});
});
}
$(window).bind('popstate', function(){
_link = location.pathname.replace(/^.*['''/]/, ''); //get filename only
loadContent(toLoad);
});
}
}
articleClickLoad();
谢谢!
我看到了两个潜在的问题。.load
采用URL,但由于某种原因,您在单击处理程序中添加了Update:我忽略了传递页面片段是完全有效的,忘了这一点。' #content'
;它应该被删除
在loadContent
方法中,您在选择器$("main")
上调用load
。从你的来源来看,main
可能是什么还不清楚,但我想应该是#content
。
还要注意,您可以从.load
调用中删除第二个参数''
。请参阅加载文档。
相关文章:
- 使用同步ajax调用加载屏幕
- 调用加载的顺序函数会意外中断代码
- Requirejs:dist 失败,加载器插件没有在构建:文本中调用加载回调
- 使用 ajax 调用加载 php 文件并执行按钮单击事件
- jQuery函数在页面上调用加载和点击
- IMG 未使用 AJAX 调用加载图像
- 如何在 ag-grid 中从 http 调用加载动态列和行(列和记录都应该是动态的)
- 由 ajax 调用加载的页面文本框上的 Jquery 按键事件
- 在 ajax 调用加载的页面上隐藏多个
- 使用 Ajax 调用加载选项卡内容
- 调用/加载 Jquery 页面
- Ajax调用加载当前内容
- 如何在AngularJS Bootstrap模式中从AJAX调用加载JSON数据
- AngularJS-使用REST API调用加载图像
- 在angular js中通过ajax调用加载模板url
- 我正在做一个ajax调用加载内容到模态对话框;它似乎在所有其他浏览器上工作,而不是IE
- 尝试通过(jQuery)ajax调用加载Google图表
- 尝试通过jQuery ajax调用加载Google图表
- 从Javascript调用加载dll时出现java安全错误,但直接从applet调用时没有
- 通过Ajax调用加载元素后,单击事件不工作