$(".btn").click(function(){
if($(this).data("html") != ""){
 $(this).html($(this).data("html"))
}else{
        $.ajax({
        type:'get',
        url:'getNews.php',
        dataType:'json',
        success:function(d){
            var html='';
            for(var i=0; i<d.length;i++){
                html+='<li><a href="javascript:;">'+d[i].title+'</a>[<span>'+d[i].date+'</span>]</li>'
                }
            $("#ul1").html(html);
$(this).data("html",html)
}        })
            $("#ul1 a:first").addClass('active');
            $("#ul1 a").on('click',function(){   
                $("#ul1 a").removeClass("active");
                $(this).addClass('active');
                $(".btn").html($(this).html());
                $("#ul1").hide();
                $(".btn").show();
            })
            }
        $(".btn").hide();
        $("#ul1").show();
    })大致是思路是把取的内容存起来,下次直接使用

解决方案 »

  1.   

    可以联想到tab 选项卡,难道每次切换都要去查询数据?
    ajax有个属性cache:false
    cache 默认为false,无缓存。这个选项用于ajax调用,简单的说无缓存,就是每次发送请求都刷新;有缓存就是第一次请求刷新,以后就不刷新了,关闭页面是另外一回事
      

  2.   

    $(document).ready(function(){
        $(".btn").click(function(){
            $.ajax({
            type:'get',
            url:'getNews.php',
    ccache: true,
            dataType:'json',
            success:function(d){
                var html='';
                for(var i=0; i<d.length;i++){
                    html+='<li><a href="javascript:;">'+d[i].title+'</a>[<span>'+d[i].date+'</span>]</li>'
                    }
                $("#ul1").html(html);
                $("#ul1 a:first").addClass('active');
                $("#ul1 a").on('click',function(){   
                    $("#ul1 a").removeClass("active");
                    $(this).addClass('active');
                    $(".btn").html($(this).html());
                    $("#ul1").hide();
                    $(".btn").show();
                })
                }
            })
            $(".btn").hide();
            $("#ul1").show();
        })
    });请问下ccache: true, 不行我想要的效果是当我后面再次点击a标签的不再请求ajax 希望active能添加在上一次点击当前$("#ul1 a")里面