サイドバー折り畳み2:タイトルボタンとタイトルリンクの競合回避
先日、サイドバーのリストタイトルをサイドバー折り畳み2のボタンにしてみたのですが、あのままだとちょっとまずいかな、というところがありました。
facetさんからもご指摘がありましたように、『バックナンバー』についてはリストタイトル部がリンクになっていますが、この部分をクリックすると……本来のリンクイベントの他に折り畳みのイベントまで走ってしまう、という競合の問題がでてしまいます。
これをなんとか解消出来ないか、ということで、いまのところ
- リストタイトルのリンク部を別のところに追い出す(facetさん方式)。
- リストタイトルのリンク上にマウスがある場合だけ折り畳みを無効にする(風柳方式)。
とう方法が考案されています。
1.の方は、そもそもリストタイトルからリンクを追い出してしまうので、(リンクのない)通常のリストタイトルボタンと同様に使えるメリットがある一方、追出し先の表示を考えないといけないのと、リストタイトルにリンクがあることを前提としたテンプレートとの相性が悪くなる。
2.の方は、見た目的にはこれまでと変わらないメリットがあるが、リンク部以外にクリックするところがないようなテンプレートの場合、折り畳みの切替機能が実質無効となってしまう。
……ということで、それぞれ一長一短があります。
それで、とりあえず、facetさんのテスト版スクリプト(02c11)をベースに、設置する環境により2方式のどちらかを選択出来るよう、当方でパッチをあててみました。
facetさんの記事にある設置用スクリプトのうち、
の箇所を
に修正し、新たに、
のあたりに、
のような記述を追加することで、とりあえず試してみることは出来ます(今まで通り切替ボタン(+/-)も表示したままにしたい場合はswitchStyle = "display:none"は不要。)。
上で書いた方式 1.を使用する場合には、hangTitleLink を true に、方式2.を使用する場合は false にします。
リストタイトルを追い出す場合(方式1:hangTitleLink=ture)、追い出したリンクをどのように表示するかは、hangTitlePosition と hangText、及び、表示用 CSS の設定により行います。
hangTitlePositionには、リンクの設定されたリストタイトル毎に(といっても現在は実質"バックナンバー"だけですが)、表示位置を指定します。
none | 非表示 |
top | 一覧の上に表示 |
bottom | 一覧の下に表示 |
list-top | 一覧内の一番上に表示 |
list-bottom | 一覧内の一番下に表示 |
hangTextは、リンクの設定されたリストタイトル毎に、表示用の文言を設定します。
なお、ここで設定した文言は、方式2(hangTitleLink=false)でリンクをポイントしたときにも使われます。
CSSは、次のような感じで、".sidebar div.module-body div.hang-link-(hangTitlePositionで設定できる種別)"毎に設定します。
なお、リンクが『バックナンバー』だけではちょっと寂しいので(笑)、現在の当サイトでは JavaScript を使って『カテゴリー』にも無理やりリンクを設定し、それを上記のスクリプトで追い出す、という、なんだか訳がわからないことをやっていたりします(^^;。
ちなみに、そのスクリプトはこんな感じ(折り畳みより前に設定)。
自己満足というかなんというか、『手段のためには目的を選ばない』なぁ、我ながら(苦笑)。
- 2006.03.19
- 追い出し設定をしていない(hangTitlePositionに未登録の)リストタイトルに関しては、自動的に方式2.(リンクはそのままにして切り替え対象外領域とする)が適用されるように修正。
- 2006.03.19
- カテゴリーにリンクを追加するスクリプト内で、既存Aタグがあるかをチェックするために何故か
if ( h2.getAttribute('a') ) return ;
としていたのを、
if ( h2.getElementsByTagName('a').length ) return ;
に修正。
ま、眠かったからね(-_-;)……もっとスマートな方法あるのかな(・_・?)・。
« 昨夜の積ん読キュー追加分 | トップページ | 【メモ】ココログのマイリストを記事中に埋めこむ »
「ウェブログ・ココログ関連」カテゴリの記事
- 久しぶりの投稿がココログへの苦言というのもなんなのですが……(2019.03.20)
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 【覚書】風柳亭(ココログプロ)をレスポンシブWebデザイン化(Bootstrap3使用)(2015.10.09)
- ココログ用全文検索 - ココログ最強検索を jQuery を使って作り直してみた(既知の不具合の幾つかに対応)(2015.09.01)
- 現在に生きるということ。(2013.01.05)
「パソコン・インターネット」カテゴリの記事
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- BIGLOBE光ネクスト(大阪)の通信速度問題 - プロバイダ選びは難しい……(2015.08.13)
- BOOK☆WALKER さんに関して最近経験した不安と不満(2015.08.10)
- 『#鳥獣戯画制作キット』が楽しい(2015.07.01)
「おもいつき」カテゴリの記事
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- 【覚書】風柳亭(ココログプロ)をレスポンシブWebデザイン化(Bootstrap3使用)(2015.10.09)
「覚書」カテゴリの記事
- 鍛高譚 ~ カレイにまつわる物語(2018.05.25)
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
風柳さん、こんにちは!
facetさんの「foldSidebar02c.js」から、風柳さんのこの記事に辿り着きました!
何だか、凄く難しそうなので・・・出来るかどうか分かりませんが、「foldSidebar02c11.js」 と 「パッチをあててみました」をバウンロードさせて頂きました m(_ _)m
どうぞよろしくお願いいたします☆
投稿: ろんちゃん | 2006/08/21 10:48
風柳さん、こんにちは☆
今、私のブログで使用しているfacetさん作の開閉ボタンはIEでは動作するのですが、それ以外では開いたままの状態になります。
もし、IE以外の環境でも、全て閉じた状態に変えた場合、閉じたリストの中身は検索ロボットに拾われなくなるのでしょうか(??)
私はそのあたりが全くウトイので、馬鹿げた質問にお思いになるでしょうが、もし宜しければ教えて貰えませんか?
どうぞよろしくお願いいたします。m(_ _)m
投稿: ろんちゃん | 2006/08/23 17:13
風柳さん、こんにちは♪
先日はサイドバー折り畳み2に関して、コメントさせて頂きましたが、大変失礼しました。
よくよく考えた結果、今の開閉ボタンのままにすることに致しました。
最近、カスタマイズにも少々疲れを感じているので・・・
暫くは、ブログの内容(記事)に集中しようかと・・・思っております。
失礼なコメントや馬鹿げた質問に対し、大変申し訳ありませんでした。
m(_ _)m
投稿: ろんちゃん | 2006/08/28 11:43
ろんちゃんさん、どうもです。
これ、3月のメンテ前に修正したもので、その後 facet さんが大幅改修されており、その内容については反映していないため、当方のスクリプトを使うといろいろ不具合が出るものと思われます。
ですので、そのまま facet さんのものをお使いになる方が賢明かと(^^;。
なお、折畳みスクリプトを使って折畳んだとしても、あくまでブラウザでの見た目がそうなっているだけで、検索エンジン(ロボット)の動作には関係ないですよ(折畳対象部分も検索にひっかかる)。
#通常の検索エンジン(ロボット)はスクリプトは動作させずに拾っていきますので
投稿: 風柳>ろんちゃん さん | 2006/09/04 22:47