我正在开发一个单页组合网站,它将从单独的html文件中提取项目。所以,目前我有这个代码将新网址(特别是#project
div)加载到当前div #port-content
中。
我的custom.js的一部分如下:
var hash = window.location.hash.substr(1);
var href = $('.ajax').each(function(){
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-5)){
var toLoad = hash+'.html #project';
$('#port-content').load(toLoad)
}
});
$('a.port-more').click(function(){
var toLoad = $(this).attr('href')+' #project';
$('#port-content').hide('normal',loadContent);
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadContent() {
$('#port-content').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#port-content').show('normal');
}
return false;
});
如何关闭此内容并恢复原来的#port-content
div。我尝试创建一个相反的新功能,但它没有用。
有什么想法吗?
答案 0 :(得分:0)
var HTMLstorage = "";
$("#something").on("click", function()
{
var HTMLstorage = $("#someDivWithOldContent").html();
$("#someDivWithOldContent").html(yourNewHTML);
}
捕获22,这可能会丢失您的处理程序分配,具体取决于您分配它们的方式
在替换之前基本上捕获HTML。如上所述,一旦恢复它,您可能需要重新分配处理程序
答案 1 :(得分:0)
使用.data()
声音就像是正确的选项。
function loadContent() {
if(!$('#port-content').data('default')) $("#port-content").data('default', $("#port-content").html());
$('#port-content').load(toLoad,'',showNewContent())
}
// and create another function to load the default
function loadDefault() {
$('#port-content').html($("port-content").data('default'));
}