2017-08-13 99 views
0

我正在尝试在没有重新加载页面的情况下执行我的投资组合。我遇到了一个我无法解决的问题。JQUERY:网站没有重新加载,刷新后无法正常工作

当我点击一个链接时,下一个链接被加载,但当我回到第一个链接并刷新页面。后面和前锋不再是动态的。

我该如何解决这个问题?提前致谢。

这里我的代码:

$(document).ready(function() { 
$('a').live('click', function(event){ 
    //LOAD PAGE ON CLICK 
    var link = $(this).attr('href'); 
    $('#md').fadeOut(200, function(e) { 
     $(this).load(link + ' .md', function(e) { 
      $(this).fadeIn(200); 
     }); 
    }); 
    //LOAD PAGE CHANGE HISTORY 
    window.history.pushState(null, null, link); 
    popstate = function(url){$('#md').load(url + ' #md');} 
    window.onpopstate = function(event){popstate(window.location.href);event.preventDefault();} 
    return false; 
}); 
}); 
+0

'live'已弃用。你应该看看'委托'或'上' –

+0

我不认为它来自那里。我已经尝试使用'on'或'bind',它不会改变任何东西。我敢肯定,它来自 '//加载页面改变HISTORY'部分 –

+0

在这里,新的代码没有更多的'.live' '//动态负载 $(文件)。就绪(函数(){ \t $(document).on('click','a',function(event)' 但是我还是不能在重装后回去,任何人都请。 –

回答

0

我纠正我的代码为近期的jQuery

但我仍然不知道为什么onpopstate不保存历史重装,然后回后转发不再工作...

$(document).on('click', 'a', function(){ 
    //LOAD PAGE ON CLICK 
    var link = $(this).attr('href'); 
    $('#md').fadeOut(200, function() { 
     $(this).load(link + ' .md', function() { 
      $(this).fadeIn(200); 
     }); 
    }); 
    //SAVE HISTORY 
    window.history.pushState({}, null, link + ' '); 
    //BACK/FORWARD HISTORY 
    popstate = function(url){ 
     $('#md').fadeOut(200, function() { 
      $(this).load(url + ' #md', function() { 
       $(this).fadeIn(200); 
      }); 
     }); 
    } 
    //SAVE LINK BACK/FORWARD HISTORY 
    window.onpopstate = function(event){ 
     popstate(window.location.href); 
     event.preventDefault(); 
    } 
    //RETURN FALSE 
    return false; 
}); 
相关问题