我在我的index.php中的div容器中发出了ajax请求,并且在我的一个页面中通过ajax加载我有这个jquery函数:
$(document).ready(function(){
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();
});

如果我发出ajax请求,此功能不起作用。 但如果我插入我的
<script src="js/jquery-1.11.2.min.js"></script>
&#13;
在这个页面内它正在工作,但问题是我已经在我的index.php中加载了jquery所以它加载了2次所以我怎么能让我的jquery工作而不重新加载它作为补间?
这是我的ajax:
$(document).ready(function(){
$("#menu a").click(function(){
page=$(this).attr("href");
$.ajax({
url: "pages/"+page,
cache:false,
success:function(html){
afficher(html);
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);
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){
$("#container").delay( 100 ).fadeOut(400,function(){
$("#container").empty();
$("#container").append(data);
$("#container").fadeIn(500);
});
}
&#13;
答案 0 :(得分:0)
假设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;
// ....
EDIT。这应该适用于延迟
$(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();
}
});
}