2012-04-27 1 views
1

私は別のhtmlファイルからプロジェクトを引き出す1ページのポートフォリオサイトを開発しています。だから、現在私は現在のdiv #port-contentに新しいURL(具体的には#project div)をロードするこのコードを持っています。私custom.jsのajaxを読み込んだページを閉じて古いコンテンツを取り戻すにはどうすればいいですか?

パートは、次のとおりです。私はこのコンテンツを閉じて、私の元#port-contentのdivを取り戻すことができますどのように

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; 
    }); 

を。私は新しい機能を逆に作成しようとしましたが、機能しませんでした。

アイデア?この中

答えて

0
var HTMLstorage = ""; 
$("#something").on("click", function() 
{ 
var HTMLstorage = $("#someDivWithOldContent").html(); 
$("#someDivWithOldContent").html(yourNewHTML); 
} 

キャッチ22は、あなたがそれを交換する前に、彼らは

基本的にHTMLを捕獲割り当て方法に応じて、あなたのハンドラの割り当てを失う可能性があります。前述のように、それを復元すると、ハンドラの再割り当てが必要になることがあります。

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')); 
} 
+0

こんにちはStarx、あなたの答えをありがとうが、これは機能を壊した。どのように全体が$( 'a.close-port')を含むように見えるのですか?(function(){\t ?? – jwaldeck

+0

@ user1361999、クリックハンドラの外に2つの関数を入れてください。それを確認する – Starx

+0

ajax関数でこれを行う方法がわかりません。さらに、この関数自体には多くのエラーが既にあります。d.pr/i/x7bJ。これを見て、おそらくjQueryエキスパートを雇う必要があります。 – jwaldeck

関連する問題