$.Ajax加载HTML代码并在之后显示,就像使用JQuery.load一样
我有个问题,因为我真的不明白。。。 我有代码两个功能,一个工作,另一个不是,我真的想了解为什么请 当我这样做时:$.Ajax加载HTML代码并在之后显示,就像使用JQuery.load一样,ajax,load,show,Ajax,Load,Show,我有个问题,因为我真的不明白。。。 我有代码两个功能,一个工作,另一个不是,我真的想了解为什么请 当我这样做时: $("#divLogin").load("./affichage/choixFormat.html", function() { $("#choix-box").fadeIn(300); }); 它工作得很好,它在DIV中加载HTML,然后显示它 但是我有一个代码,它是使用$.Ajax编写的最好的脚本,但不起作用: $.ajax({ url: "./affi
$("#divLogin").load("./affichage/choixFormat.html", function() {
$("#choix-box").fadeIn(300);
});
它工作得很好,它在DIV中加载HTML,然后显示它
但是我有一个代码,它是使用$.Ajax编写的最好的脚本,但不起作用:
$.ajax({
url: "./affichage/choixFormat.html",
type: "POST",
async: false,
cache: true,
dataType: "html",
beforeSend: function() {
$("#loading").removeClass("hide");
},
timeout: 5000,
error: function(request, textStatus, errorThrown) {
console.log(request.status);
},
success: function (msg, textStatus, request) {
$("#divLogin").html(msg);
}
});
$("#choix-box").fadeIn(300);
javascript试图在加载完成之前淡出DIV,我想。。。
但我不明白为什么。。。我已经选择了异步:false!
而我在成功后也会褪色
我更喜欢使用$.Ajax,因为我们可以用它制作更多的东西。。。
谁能告诉我为什么它不起作用?
JQuery.load工作正常:(
谢谢
我错了抱歉,这两种解决方案不起作用:( 我必须为fadeIn it加载两次DivLogin:( 我还尝试做:
request.done(function(msg) {
console.log("End of div loading");
$("#choix-box").fadeIn(300);
});
但它也不起作用:(
我只有控制台中的日志。
DOM太长,无法加载HTML,无法显示它…这就是为什么我必须第一次加载它,然后在第二次执行脚本的原因
请问谁有其他的解决方案
现在我尝试了太多的事情…目前最好的是:
$('#div').ready( $("#div").fadeIn(300) );
但它并不总是完美的:(
在JQuery中真的没有真正的解决方案吗
好的,这里是我最后一个不总是显示我的div的代码:( 有时是,有时不是,不可能理解为什么
$('body').prepend('<div id="divChoiceFormat"></div>');
//getContenu('./affichage/choixFormat.html', 'divChoixFormat');
// CSS Load
appendCss("./style/choiceFormat.css", "choiceFormatCSS")
$("#divChoiceFormat").load("./affichage/choiceFormat.html", function() {
// When ready
$('#divChoiceFormat').ready( $("#choice-box").fadeIn(300) );
}
$('body')。前置('');
//getContenu('./affichage/choixFormat.html','divChoixFormat');
//CSS加载
附录css(“./style/choiceFormat.css”、“choiceFormatCSS”)
$(“#divChoiceFormat”).load(“./affichage/choiceFormat.html”,函数(){
//准备好了吗
$(“#divChoiceFormat”).ready($(“#选择框”).fadeIn(300));
}
要在生成HTML之前加载CSS,请执行以下操作:
function appendCss(url, id) {
var link = $("<link>");
link.attr({
charset: "UTF-8",
media: "all",
type: 'text/css',
rel: 'stylesheet',
id: id,
href: url
});
$("head").append( link );
return false;
}
函数appendCss(url,id){
变量链接=$(“”);
link.attr({
字符集:“UTF-8”,
媒体:“全部”,
键入:“text/css”,
rel:'样式表',
id:id,
href:url
});
$(“标题”)。附加(链接);
返回false;
}
也许我的订单是假的?把这个$(“#choix box”).fadeIn(300)
放在ajax success中
success: function (msg, textStatus, request) {
$("#divLogin").html(msg);
$("#choix-box").fadeIn(300);
}
将这个$(“#choix box”).fadeIn(300)
放在ajaxsuccess中
success: function (msg, textStatus, request) {
$("#divLogin").html(msg);
$("#choix-box").fadeIn(300);
}
这显然是可行的。
如果没有,html中还有其他东西
- 检查所有块的ID是否为uniq,否则使用类 使用多个块多次调用
- 也请检查您的相对路径:“./affichage/choixFormat.html”
- 最后,将响应缓存在实例中以重复加载() 效率很高
- 请不要在ajax调用中使用Html…这是有史以来最糟糕的做法
- 检查所有块的ID是否为uniq,否则使用类 使用多个块多次调用
- 也请检查您的相对路径:“./affichage/choixFormat.html”
- 最后,将响应缓存在实例中以重复加载() 效率很高
- 请不要在ajax调用中使用Html…这是有史以来最糟糕的做法
$(“#加载”).addClass(“隐藏”)
还应该添加到你的success函数中。除此之外,我认为我们需要查看你的HTML
。我已经在我的代码后添加了。我在DOM中创建了一个div加载CSS在div中加载HTML显示div,但有时div在这里,我可以在DOM中用chromedebug看到它,但它像在CSS中一样隐藏,显示不会出现rk!您还有其他解决方案吗?我想我还不知道Ajax命令是如何处理结果的!$(“#加载”).addClass(“隐藏”)
还应该添加到你的success函数中。除此之外,我认为我们需要查看你的HTML
。我已经在我的代码后添加了。我在DOM中创建了一个div加载CSS在div中加载HTML显示div,但有时div在这里,我可以在DOM中用chromedebug看到它,但它像在CSS中一样隐藏,显示不会出现rk!如果使用id作为选择器,则整个HTML中的id必须是uniq id…如果您有多个id=“#choix box”,则脚本无法正常工作。并且不要对HTML使用ajax调用…load()不够。如果使用id作为选择器,则整个HTML中的id必须是uniq id…如果您有多个id=“#choix box”,您的脚本工作不正常。并且不要对html使用ajax调用…load()不够。