这是我有问题的ajax文件.另请参阅我原来的css问题:.Current link styling on CSS only works on the 1st page and doesn’t transfer to the other
如何修复此Ajax代码以便开始让我将当前链接样式应用于实际当前页面?
$("a.ajax-link").live("click",function(){
$this = $(this);
var link = $this.attr('href');
var current_url = $(location).attr('href');
if( link != current_url && link != '#' ) {
$.ajax({
url:link,processData:true,dataType:'html',success:function(data){
document.title = $(data).filter('title').text();
current_url = link;
if (typeof history.pushState != 'undefined')
history.pushState(data,'Page',link);
setTimeout(function(){
$('#preloader').delay(50).fadeIn(600);
$('html,body').delay(1000).animate({ scrollTop: 0 },1000);
setTimeout(function(){
$('#ajax-content').html($(data).filter('#ajax-content').html());
$('#ajax-sidebar').html($(data).filter('#ajax-sidebar').html());
$('body').waitForImages({
finished: function() {
Website();
backLoading();
$('.opacity-nav').delay(50).fadeOut(600);
},waitForAll: true
});
},1000);
},0);
}
});
}
return false;
});
最佳答案
我相信你只需要从之前的< li class =“current”>中删除当前的类.并且需要将其应用于当前< a> tag的父级< li>标签.
原文链接:https://www.f2er.com/css/426949.html这可以通过以下方式完成:
$("a.ajax-link").live("click",function(){
$this = $(this);
var link = $this.attr('href');
var current_url = $(location).attr('href');
if( link != current_url && link != '#' ) {
$.ajax({
url:link,success:function(data){
//code to apply current class to current li
if($this.parent("div.logo").length == 0){
$("li.current").removeClass("current");
$this.parent("li").addClass("current");
}
//code ends here
document.title = $(data).filter('title').text();
current_url = link;
if (typeof history.pushState != 'undefined')
history.pushState(data,link);
setTimeout(function(){
$('#preloader').delay(50).fadeIn(600);
$('html,1000);
setTimeout(function(){
$('#ajax-content').html($(data).filter('#ajax-content').html());
$('#ajax-sidebar').html($(data).filter('#ajax-sidebar').html());
$('body').waitForImages({
finished: function() {
Website();
backLoading();
$('.opacity-nav').delay(50).fadeOut(600);
},waitForAll: true
});
},1000);
},0);
}
});
}
return false;
});