jquery – Ajax不会让css当前链接样式正常工作

前端之家收集整理的这篇文章主要介绍了jquery – Ajax不会让css当前链接样式正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是我有问题的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>标签.

这可以通过以下方式完成:

$("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;
});
原文链接:https://www.f2er.com/css/426949.html

猜你在找的CSS相关文章