menu
menu

キーワード検索

 

前月(9月)の人気記事トップ10

  1. ( 1 - ) 【CSS】CSSだけでドロップダウンメニュー
  2. ( 3 ↑) 【Mac】Macのユーザー名とアカウント名を変更する
  3. ( 2 ↓) 【jQuery】jQueryでドロップダウンメニュー
  4. ( 9 ↑) 【CSS】スマホ対応CSSだけでドロップダウンメニュー
  5. ( 7 ↑) 【PHP】PHPでシンプルなメールフォーム
  6. ( 5 ↓) 【CSS】レスポンシブデザインのブレークポイントは⁉
  7. ( 4 ↓) 【CSS】CSSだけでサイズ可変・スマホ対応のアコーディオン
  8. (10 ↑) 【iPhone・iPad】投稿の準備中にエラーが起きました。後でやり直してください。
  9. ( 9 - ) 【CSS】CSSだけでブロック要素の表示非表示(トグルボタン)
  10. ( - ↑) 【iPhone・iPad】iPhoneのメモリを簡単に解放する方法
このエントリーをはてなブックマークに追加

【JavaScript】JavaScriptで親階層に戻るボタン

【JavaScript】JavaScriptで親階層に戻るボタン

こんにちは(・∀・)

前回ご紹介しましたJavaScriptのhistory.back()ですが、このhistory.back()、もどるのは履歴に沿って行うので、当然その前に見ていたページに戻ることになります。

Contents

  1. サンプル
  2. Result

JavaScriptで親階層にもどる

基本はそれでいいのですが、それでは困る場合も時にはあります。

例えば検索から飛んできたら検索結果のページに戻ってしまいますし、ブックマークから直接来たら、前に見ていたページの履歴を辿ってしまうことになります。

そのページに戻るボタンを付ける場合、大抵はその元のページに辿らせたいというのが趣旨なわけですから検索ページやその他のページに戻ってしまうのでは本来やりたいことに反してしまうということになり、history.back()では思ったような導線は引けないことになります。

ではどうすればいいのか、大概はそういうボタンを付けたいページには親ページがあることが多いと思います。で、階層も親であることが大概なので親ページに戻るボタンを作ればいいのではないかと考え、今回ご紹介しますサンプルを作ってみました。よろしければご活用ください。

サンプル
HTML
<a href="javascript: jump1()">demo1</a><a href="javascript:void(0)" onclick="jump2(); return false">demo2</a><button onclick="jump3()">demo3</button><button id="demo4">demo4</button>
ボタン①のJavaScript

<script>
var local = window.location;
var url = local.origin;
url + getDir(local);//現在ディレクトリ
var url2 = url + getDir(local,1);//親階層ディレクトリ
function getDir(place, n) {
return place.pathname.replace(new RegExp("(?:\\\/+[^\\\/]*){0," + ((n || 0) + 1) + "}$"), "/");
}
function jump1(){
location.href = url2;
}
</script>
ボタン②のJavaScript

<script>
var local = window.location;
var url = local.origin;
url + getDir(local);//現在ディレクトリ
var url2 = url + getDir(local,1);//親階層ディレクトリ
function getDir(place, n) {
return place.pathname.replace(new RegExp("(?:\\\/+[^\\\/]*){0," + ((n || 0) + 1) + "}$"), "/");
}
function jump2(){
location.href = url2;
}
</script>
ボタン③のJavaScript

<script>
var local = window.location;
var url = local.origin;
url + getDir(local);//現在ディレクトリ
var url2 = url + getDir(local,1);//親階層ディレクトリ
function getDir(place, n) {
return place.pathname.replace(new RegExp("(?:\\\/+[^\\\/]*){0," + ((n || 0) + 1) + "}$"), "/");
}
function jump3(){
location.href = url2;
}
</script>
ボタン④のJavaScript

<script>
var local = window.location;
var url = local.origin;
url + getDir(local);//現在ディレクトリ
var url2 = url + getDir(local,1);//親階層ディレクトリ
function getDir(place, n) {
return place.pathname.replace(new RegExp("(?:\\\/+[^\\\/]*){0," + ((n || 0) + 1) + "}$"), "/");
}
function jump4(){
location.href = url2;
}
document.getElementById('demo4').addEventListener('click',function(){
jump4();
},false);
</script>
Result

サンプルデモはこちら

getDir(local,1)、数値が1で親階層ディレクトリを取得します。数値が2だと親の親、3だと親の親の親という感じになります。

 

にほんブログ村 IT技術ブログ JavaScriptへ

関連リンク

【JavaScript】JavaScriptで前のページに戻るボタン

  • JavaScript
このエントリーをはてなブックマークに追加