Javascript ajax加载后如何返回jquery?
我在index.php中的div容器中发出了一个ajax请求,在ajax加载的一个页面中,我有一个jquery函数:Javascript ajax加载后如何返回jquery?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在index.php中的div容器中发出了一个ajax请求,在ajax加载的一个页面中,我有一个jquery函数: $(文档).ready(函数(){ var section=document.querySelector(“.vs section”); var divs=document.querySelectorAll('.vs transform'); var平滑=新平滑({ 方向:'水平', 节:节, 轻松度:0.1, 埃尔斯:divs }); smooth.init(); });假设
$(文档).ready(函数(){
var section=document.querySelector(“.vs section”);
var divs=document.querySelectorAll('.vs transform');
var平滑=新平滑({
方向:'水平',
节:节,
轻松度:0.1,
埃尔斯:divs
});
smooth.init();
});代码>假设afficher()
函数将加载的代码附加到DOM,您可以尝试以下操作:
$('#container').on('click', '.vs-transform a', function(){
var page=$(this).attr("href");
$.ajax({
url: "pages/"+page,
cache:false,
success:function(html){
afficher(html);
history.pushState({key : 'value'}, 'hash', page);
//HERE THE INNER PAGES CODE
if(page==="yorpagehere.html"){
//here code for yourpagehere.html
var section = document.querySelector('.vs-section');
var divs = document.querySelectorAll('.vs-transform');
var smooth = new Smooth({
direction: 'horizontal',
section: section,
ease: 0.1,
els: divs
});
smooth.init();
}
},
error:function(XMLHttpRequest,textStatus, errorThrown){
afficher ("erreur lors du chagement de la page");
}
});
return false;
// ....
编辑。这应该可以延迟工作
$(document).ready(function(){
$("#menu a").click(function(){
page=$(this).attr("href");
$.ajax({
url: "pages/"+page,
cache:false,
success:function(html){
afficher(html, page);
history.pushState({key : 'value'}, 'hash', page);
},
error:function(XMLHttpRequest,textStatus, errorThrown){
afficher("erreur lors du chagement de la page");
}
});
return false;
});
$('#container').on('click', '.vs-transform a', function(){
var page=$(this).attr("href");
$.ajax({
url: "pages/"+page,
cache:false,
success:function(html){
afficher(html, page);
history.pushState({key : 'value'}, 'hash', page);
},
error:function(XMLHttpRequest,textStatus, errorThrown){
afficher ("erreur lors du chagement de la page");
}
});
return false;
});
window.onpopstate = function(event){
if(event.state === null){
// alert('bien');
}
};
});
function afficher(data, page){
$("#container").delay( 100 ).fadeOut(400,function(){
$("#container").empty();
$("#container").append(data);
$("#container").fadeIn(500);
if(page==="yorpagehere.html"){
//here code for yourpagehere.html
var section = document.querySelector('.vs-section');
var divs = document.querySelectorAll('.vs-transform');
var smooth = new Smooth({
direction: 'horizontal',
section: section,
ease: 0.1,
els: divs
});
smooth.init();
}
});
}
从cdn在主标题中加载jquery一次,这不会成为问题。您应该为ajax成功提供回调,并在回调中执行ajax加载页面的代码。如果在DOM$(文档)中附加ajax调用的html后不执行代码,则代码无法工作。如果作为异步ajax请求的结果执行,则不需要ready(function(){
。抱歉,我没有看到您必须在$(“#menu a”)的success函数中执行相同的操作。单击()ajax。请确保使用您要执行代码的页面名称编辑yorpagehere.html。是的,重置我的页面名称并使其成为菜单链接的成功功能,但仍然不起作用。我不明白我必须在函数affichermm中执行什么…好的,再次抱歉,我的错误,我没有看到您处理附加…等一下ute和我编辑我的答案