- 締切済み
jQueryのpagerを使ったページで、
jQueryのpagerを使ったページで、 ページ内リンクを機能させる方法を教えてください。 以下のサイトを参考に、 自動でページング化されるページを作りました。 『ゼロからはじめるpager - Web文章をらくらく分割してみよう』(マイコミ) http://journal.mycom.co.jp/articles/2007/06/19/null/index.html ページング機能は問題なく作動しているのですが、 外部からのページ内リンクがうまく機能しません。 どうしても、ページを開いたときに 一番最初に表示するよう設定しているページが 開いてしまいます。 ----------------------------------------------------------- <例> ページング機能を施したページを"ページA"とします。 "ページA"で2ページ目以降に表示される特定の箇所に <a id="hoge"></a>を設置します。 "ページB"を作ります。 "ページB"に<a href="ページA#hoge">hoge</a>を設置します。 リンク"hoge"をクリックすると、 "ページA"の<a id="hoge"></a>にはジャンプせず、 "ページA"に一番最初に表示されるように 設定されたページが開いてしまいます。 ----------------------------------------------------------- 以上です。 解決策をご存知の方がいらっしゃいましたら ご教授願えますでしょうか。 どうぞ宜しくお願い致します。
お礼
my-->>> いろいろとありがとうございました。 大変お手数をお掛けいたしました。 勉強になりました。
補足
自分の質問に自分で回答ができないので、 補足スペースで失礼します。 下記のjavascriptを"ページA"に記載することで 問題解決ができました。 ----------------------------------------------------------- <script type="text/javascript"> $(document).ready(function () { var pageNavId = '#longText'; var id = '1'; // デフォルト選択ページ指定 //var prefix = 'page'; // 数字の前に付けるプリフィクス(アンカーがテキスト"page"+数字の場合) var prefix = ''; // 数字の前に付けるプリフィクス(アンカーが数字のみの場合) var num = location.href.lastIndexOf('#'); //uri末尾から'#'の位置を検索 if (num > -1) { //'#'が見付かれば var idStr = location.href.substring(num + 1); //末尾まで('#'を含まない)を抜き出す var id = location.href.substring(num + 1 + prefix.length); // プリフィクスを除く数字 => rel値 } $('#' + pageNavId).pager('.hogeclass', { navId : pageNavId, navAttach : 'append', //prepend:表示領域内の上、append:表示領域内の下、before:表示領域外の上、after:表示領域外の下 height:'auto', prevText : '«前へ', nextText : '次へ»', }); // 指定ページに移動 クリックイベントを実行 //$('#' + pageNavId + ' a[rel=' + id + ']').trigger('click'); $('#' + pageNavId + ' a[rel=' + id + ']').click(); }); </script> ----------------------------------------------------------- yyr446さん、my--さん、 いろいろとありがとうございました。 感謝しております。 以上です。