Jquery Ajax 调用 HTML5 历史和后退按钮
Jquery Ajax call HTML5 History and back button
我读了很多这方面的资料,觉得虽然我了解所有部分,但我无法弄清楚如何在不重做我的项目的情况下将它们组合在一起。我已经 ajax 设置并且在我的网站上运行得非常好。当新内容出现时,我能够在 URL 中添加一个 #。后退按钮有效,并且在不重新加载页面的情况下浏览所有正确的 URLs,但是 ajax 没有'刷新。
这是我的 HTML 按钮:
<a class="portfolioThumbnail" onclick="return false;" data-name="myPage" href="myPage.html">
<img src="imagepath" />
</a> <!-- portfolioThumbnail -->
这是我的 Jquery:
$('.portfolioThumbnail').on('click', function(){
var thisProject = $(this).attr('href')
$.ajax('http://oursite.com/' + thisProject, {
success: function(response) {
$('.projectWrapperReplace').html(response);
},
error: function() {
alert('error');
},
timeout: 5500,
beforeSend: function() {
$(this).find('.portfolioThumbnail').addClass('loading');
},
complete: function() {
$(".blurable").addClass('blur');
$(".blurable").addClass('whiteOut');
$('.projectWrapper').fadeIn('slow', function(){
$('.projectWrapper').addClass('noBlur');
window.location.hash = thisProject;
});
}
});
});
我的 HTML 中也有一个名为 projectWrapperReplace 的 div。看看是否有人可以帮助我完成这项工作。谢谢
当按下后退或前进按钮时,您需要一个事件侦听器(现在您只在单击 .portfolioThumbnail
按钮时加载 ajax 内容)。
使 ajax 加载和状态 类 成为一个单独的函数,比如 hashChange()
//call hashChange on window hash chage
window.onhashchange = hashChange;
//and also on buttonclick
$('.portfolioThumbnail').on('click', function() {
hashChange();
})
我读了很多这方面的资料,觉得虽然我了解所有部分,但我无法弄清楚如何在不重做我的项目的情况下将它们组合在一起。我已经 ajax 设置并且在我的网站上运行得非常好。当新内容出现时,我能够在 URL 中添加一个 #。后退按钮有效,并且在不重新加载页面的情况下浏览所有正确的 URLs,但是 ajax 没有'刷新。
这是我的 HTML 按钮:
<a class="portfolioThumbnail" onclick="return false;" data-name="myPage" href="myPage.html">
<img src="imagepath" />
</a> <!-- portfolioThumbnail -->
这是我的 Jquery:
$('.portfolioThumbnail').on('click', function(){
var thisProject = $(this).attr('href')
$.ajax('http://oursite.com/' + thisProject, {
success: function(response) {
$('.projectWrapperReplace').html(response);
},
error: function() {
alert('error');
},
timeout: 5500,
beforeSend: function() {
$(this).find('.portfolioThumbnail').addClass('loading');
},
complete: function() {
$(".blurable").addClass('blur');
$(".blurable").addClass('whiteOut');
$('.projectWrapper').fadeIn('slow', function(){
$('.projectWrapper').addClass('noBlur');
window.location.hash = thisProject;
});
}
});
});
我的 HTML 中也有一个名为 projectWrapperReplace 的 div。看看是否有人可以帮助我完成这项工作。谢谢
当按下后退或前进按钮时,您需要一个事件侦听器(现在您只在单击 .portfolioThumbnail
按钮时加载 ajax 内容)。
使 ajax 加载和状态 类 成为一个单独的函数,比如 hashChange()
//call hashChange on window hash chage
window.onhashchange = hashChange;
//and also on buttonclick
$('.portfolioThumbnail').on('click', function() {
hashChange();
})