2010-11-18 5 views
5

私は、URL内のハッシュを変更し、メインページからdivを挿入/削除する関数を持っています。私は、リロードせずに操作できるページを作ることができるようにしていましたが、同時に、あるセクションをブックマークして、後でそのページをもう一度やり直すことなく移動できるようにしたかったのです。window.location.hashヘルプ付きの関数

hash()関数を呼び出して、すべてのdivを閉じ、ハッシュによって特定のdivを開きますが、機能しません。私はおそらく、alert()hash()関数に入れたときに、それが想定していたようにポップアップするので、ifステートメントに正しいことはおそらくありません。

function hash(){ 
    if (window.location.hash == "dcontact") { 
     removedivs(); 
     InsertContent('dcontact'); 
    } 
    if (window.location.hash == "dhome") { 
     removedivs(); 
     InsertContent('dhome'); 
    } 
} 
hash(); 

は、私は私が言及したすべてのものを行うための、おそらくより良い方法があることは承知しているが、これは私が作ることにするつもりだ唯一のサイトです、と私はより少ないスクリプトがであるか汚い気にしませんでした終わりには、それが動作する限り。

答えて

7

それが動作しない理由は、実際のハッシュ(米国では、私はあなたがポンド、それを呼び出すと思います)のシンボルである - メモリIEからwindow.location.hash

の先頭に#を入れていませんその上にハッシュ記号なので、この操作を行います。あなたはまた、単にすべての異なるリンクのためにあなたがそんなにあなたのための

+0

感謝しています)((ハッシュ)InsertContentを呼び出すのではなく場合はやって検討することもでき

function hash() { var hash = window.location.hash.replace('#',''); if (hash == "dcontact"){removedivs(); InsertContent('dcontact');} if (hash == "dhome"){removedivs(); InsertContent('dhome');} } 

を助け、それは完全に働いた。 – pobrien