jQuery加载内容在所有IE中失败';s
我是ajax方面的新手,所以这是我第一个使用jQueryLoad()的项目 我做了这个循序渐进的指导,似乎很容易。结果:与Webkit和Gecko一起工作,但是IE 7+8,真令人惊讶,它们没有加载任何内容。nettuts的演示是在IE中实现的,那么我到底做错了什么 守则:jQuery加载内容在所有IE中失败';s,jquery,ajax,Jquery,Ajax,我是ajax方面的新手,所以这是我第一个使用jQueryLoad()的项目 我做了这个循序渐进的指导,似乎很容易。结果:与Webkit和Gecko一起工作,但是IE 7+8,真令人惊讶,它们没有加载任何内容。nettuts的演示是在IE中实现的,那么我到底做错了什么 守则: // Check for hash value in URL var hash = window.location.hash.substr(1); // load content var href = $(".mainNa
// Check for hash value in URL
var hash = window.location.hash.substr(1);
// load content
var href = $(".mainNav li a").each(function() {
var href = $(this).attr('href');
if (hash == href.substr(0,href.length-5)) {
var toLoad = hash + ".html #content";
$("#content").load(toLoad)
}
});
$(".mainNav li a").click(function(){
var toLoad = $(this).attr('href') + "#ajaxedContent";
$("#content").fadeOut(300,loadContent, function(){
dynHeights();
});
$("#load").remove();
$('#logo').append('<div id="load"></div>');
$("#load").fadeIn(100);
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadContent() {
$("#content").load(toLoad,'',showNewContent())
}
function showNewContent() {
$("#content").fadeIn(300, function() {
dynHeights();
hideLoader();
});
}
function hideLoader() {
$("#load").fadeOut(300);
}
return false;
});
//检查URL中的哈希值
var hash=window.location.hash.substr(1);
//装载量
var href=$(“.mainNav li a”).each(函数(){
var href=$(this.attr('href');
if(hash==href.substr(0,href.length-5)){
var toLoad=hash+“.html#content”;
$(“#内容”).load(toLoad)
}
});
$(“.mainNav li a”)。单击(函数(){
var-toLoad=$(this.attr('href')+“#ajaxedContent”;
$(“#内容”).fadeOut(300,loadContent,function(){
dynHeights();
});
$(“#加载”).remove();
$(“#徽标”)。附加(“”);
$(“#加载”).fadeIn(100);
window.location.hash=$(this.attr('href').substr(0,$(this.attr('href').length-5);
函数loadContent(){
$(“#内容”).load(toLoad,”,showNewContent())
}
函数showNewContent(){
$(“#内容”).fadeIn(300,function(){
dynHeights();
hideLoader();
});
}
函数hideLoader(){
$(“#加载”)。淡出(300);
}
返回false;
});
注意:dynHeights()有助于更改阴影边界的高度,不应成为问题的一部分
有什么想法吗?将不胜感激
// load content
var href = $(".mainNav li a").each(function() {
var href = $(this).attr('href');
if (hash == href.substr(0,href.length-5)) {
var toLoad = hash + ".html #content";
$("#content").load(toLoad)
}
});
上述情况毫无意义。对于“.mainNav”中的每个“li a”,您将加载一些远程站点,并将其放置在“#content”中。如果您在“.mainNav”中有4个锚,您将发出4个AJAX请求,但只显示最后一个完成的请求(它甚至不能保证是最后一个li…这是一个竞赛条件)
可能您希望在单击事件上执行此操作(在这种情况下,将“each”更改为“click”),或者只希望在特定元素上执行此操作;在这种情况下,使用选择器(例如,或)对其进行限制
行var-toLoad=hash+”.html#content“
”将起作用,但不会使用您期望的行为
假设hash是一个值,例如“”,那么您将得到toLoad
等于:
"http://www.google.co.uk.html #content"
第一部分是无效的URL,它永远不会工作。第二部分是响应将放置在其中的jQuery选择器
您可能在使用var toLoad=hash+”.html#content“
(注意添加了空格),但是“#content”在页面上应该是唯一的,因为ID不应该重复,因此可以简化为:
var toLoad = hash + " #content";
var-toLoad=$(this).attr('href')+“#ajaxedContent”
与以前的错误相同,可能应该是var-toLoad=$(this).attr('href')+“#ajaxedContent”
上述操作无法按预期工作。对load的调用提供了3个参数:
可变负载
空白字符串
showNewContent()的结果(未定义),而不是您所期望的函数showNewContent
可能是:
function loadContent() {
$("#content").load(toLoad,'',showNewContent)
}
修复这些错误将有望解决IE的问题
上面的说法毫无意义。对于“.mainNav”中的每个“LIA”,您都在加载一些远程站点,并将其放置在“#content”中。如果“.mainNav”中有4个锚,您将发出4个AJAX请求,但只显示最后一个完成的请求(甚至不能保证是最后一个li…这是一个竞争条件)
可能您希望在单击事件上执行此操作(在这种情况下,将“each”更改为“click”),或者只希望在特定元素上执行此操作;在这种情况下,使用选择器(例如,或)对其进行限制
行var-toLoad=hash+”.html#content“
”将起作用,但不会使用您期望的行为
假设hash是一个值,例如“”,那么您将得到toLoad
等于:
"http://www.google.co.uk.html #content"
第一部分是无效的URL,它永远不会工作。第二部分是响应将放置在其中的jQuery选择器
您可能在使用var toLoad=hash+”.html#content“
(注意添加了空格),但是“#content”在页面上应该是唯一的,因为ID不应该重复,因此可以简化为:
var toLoad = hash + " #content";
var-toLoad=$(this).attr('href')+“#ajaxedContent”
与以前的错误相同,可能应该是var-toLoad=$(this).attr('href')+“#ajaxedContent”
上述操作无法按预期工作。对load的调用提供了3个参数:
可变负载
空白字符串
showNewContent()的结果(未定义),而不是您所期望的函数showNewContent
可能是:
function loadContent() {
$("#content").load(toLoad,'',showNewContent)
}
修复这些错误将有望解决您在IE上遇到的问题。这太棒了,它很有效!现在我看到了错误,但没有感觉,但我不敢相信这样的脚本是作为教程发布的。非常感谢您的努力!这太棒了,它很有效!现在我看到了错误,没有感觉,但我不能相信伊芙是这样一个脚本是作为一个教程发布的。非常感谢你的努力!