from :: Asahikawa Hokkaido

passer-by198

primetime pencil

2014/04/24


Posted

jQuery UI Extra-5 : HTML要素のマウスホバー時に光源がカーソルに追従するエフェクト

【導入準備】概要


当サイトの…

「リンクボタン」「開閉ボタン」「ナビゲーション」
「検索フォーム」「サイドバータイトル」「パンくずリスト」

…などで実装している…

マウスホバー時にマウスに追従して光源が移動するエフェクトの解説です…

「jQuery」は制御部分にしか使用しませんので…

ページ読み込み時の…導入箇所の見た目の「形状」には影響が無く…

ページ読み込み時に見える部分には…このエフェクトの導入をお薦めします…

仮に…「Fantasic Light」として進めていきます…




「Fantasic Light」のネタ元は…

「Buttons like Windows 7 with JS & CSS」

…で検索して下さい…

スペイン語のサイトですが

コードは世界共通ですね…

( ̄ー ̄) 邪笑®

簡単に言うと…

「z-index」で重ねて…ホバー時に「jQuery」で透過を制御するという…

素晴らしいアイデアですが…私的には…少々不満な箇所がありました…
  • 光源が大きすぎて固定幅のナビゲーションなど狭い幅の場所で使うとマウスに追従という感じが損なわれる…
  • 光源の色は四色だけで…ナビゲーションのカテゴリー毎にテーマカラーを設定しているのでカテゴリー数と同数欲しい…
  • リピートした状態の背景画像に光源を載せた画像をマウスに追従させているのでデザイン的に汎用性に乏しい…
  • HTTPリクエストを減らすために「base64」変換するには画像サイズが大きすぎて膨大な文字列になりスタイルシート的に見辛くなる…
…という…4点です…古いブラウザの更新時期とも重なり…

実装はしていましたが…XP のサポートが終了したのを待って記事にしました…

検索して…配布先サイトでデモを触って…

上記…4点が然程気にならないって方は…以下を読む必要は無く…

ご自身のサイトで導入しているスクリプトの環境により…

「MooTools」「jQuery」の…2パターン用意されていますので配布先からどうぞ…

当サイトでは…光源を小さくして…

光源以外は透過する画像をマウスに追従する画像として使う事で…

上記…4点を解決しています…これにより…

サイドバーのタイトルのように…同じ高さならば…リピートじゃない背景画像にも…

光源画像はそのまま弄らずに…光源でマウスを追従出来るようになります…

「position」プロパティを使用していますので…例えば…

画像にテキストを回り込ませる場合など…記述位置によっては…

回り込み解除「<br style="clear:both;"/>」しなければ…

テキストとの位置関係が前後する事があります…

尚…テキストの改行には…対応していません…

【導入準備】画像作成





先ずは光源の透過画像を作成します…

実装している赤色の光源を例にして…

作成手順を画像にしました…

形式は圧縮も勘案して「png」です…

カラーチャートで同系他色を選べば統一感が出ます…地味目に作っています

当サイトではナビゲーションで使用している…

8色に白色を加えた…9色をカテゴリー毎のテーマカラーとして使用しています…

次に…光源の透過画像と同じ高さで…背景画像を作成します…

当サイトでは…サイドバーのタイトル画像 2種類と…

それ以外のリピート画像「 背景リピート画像 」(2x25 px) の…3種類の背景画像を使用しています…

お好みで作成して下さい…画像作成が完了したら…

圧縮してから「base64」の生データに変換しておいて下さい…

png 画像を最大70%圧縮「TinyPNG」  

画像をbase64エンコードするツール / Syncer  


【導入準備】JavaScript / CSS


動作制御に「jQuery」を使いますので…

未導入の方は…下部のページングの第1回「導入」を参照して…

「Fantasic Light」のカスタムコードとともに読み込んで下さい…

「Fantasic Light」のカスタムコード


「Fantasic Light」の CSS です…

「Fantasic Light」の CSS


「基本領域設定」は…「オプション領域」を指定する必要が無い基本色です

最も頻繁に使う光源色の生データを指定して下さい…

当サイトでは…光源「Blue」を指定しています…

「オプション領域設定」では…色名が分かり易いクラス名を指定して下さい…

「基本領域設定」で指定した光源色は不要…と思われるかもしれませが…

使用する場合もあるので…記述しておいて下さい…

【HTML マークアップ】ボタン


マークアップには…リンク要素を「span」要素でラップして使用します…

「position」プロパティを使用していますので…

要素の後には…適宜…改行を入れて下さい…

デフォルト状態のボタンではマウスホバーで…「font-weight」が…

「normal」から「bold」になる設定ですので…ご自身のフォント設定によっては…

英数字を含む文字列などでボタン幅が広がります…

デフォルト状態のボタンは…

「CSS Sprites」で「target="_blank"」のアイコン を表示して…

 Google Bloggerで絵文字を使うためのTips【CSS Sprites 編】


外部サイトへのリンクで使用しています…

「基本領域設定」のボタン / デフォルト状態

「基本領域設定」のクラス名「light」だけ記述すれば OK です…

「基本領域設定」のボタン / 光源「Blue」
<span class="light"><a href="#">「基本領域設定」のボタン / 光源「Blue」</a></span>

「オプション領域設定」のボタン / デフォルト状態

「基本領域設定」のクラス名「light」に加え…

「オプション領域設定」のクラス名も記述します…

光源「Green」を例にすると…「class="light light-g"」…と…記述します…

「オプション領域設定」のボタン / 光源「Blue」「class="light light-b"」

「オプション領域設定」のボタン / 光源「Green」「class="light light-g"」
<span class="light light-g"><a href="#">「オプション領域設定」のボタン / 光源「Green」</a></span>
「オプション領域設定」のボタン / 光源「Yellow」「class="light light-y"」

「オプション領域設定」のボタン / 光源「Red」「class="light light-r"」

「オプション領域設定」のボタン / 光源「Purple」「class="light light-p"」

「オプション領域設定」のボタン / 光源「Royalblue」「class="light light-rb"」

「オプション領域設定」のボタン / 光源「Seagreen」「class="light light-s"」

「オプション領域設定」のボタン / 光源「Teal」「class="light light-t"」

「オプション領域設定」のボタン / 光源「White」「class="light light-w"」


「font-weight」を「normal」にするには…

マウスホバーしても「normal」のままですからボタン幅は変わりません…

クラス名「normal」を追加して記述します…「font-size」は「11px」で…

左右の「margin」も「10px」減らして設定してあります…

光源「Royalblue」を例にすると…

「normal」のボタン / 光源「Royalblue」「class="light light-rb normal"」
<span class="light light-rb normal"><a href="#">「normal」のボタン / 光源「Royalblue」</a></span>

CSS で三角形をボタンに付与するには…

過去記事のボタンと置き換えるために…

 「jQuery」「jQuery UI」第2回「Button」リンクとフォームをボタン化


CSS で表現する三角形も「擬似要素」を使って設定してあります…

クラス名「triangle-s」を追加すると南向き三角形が付与され…

クラス名「triangle-e」を追加すると東向き三角形が付与されます…

「font-size」は「11px」で…

右側の「margin」だけ「10px」減らして設定してあります…

リンクテキストの冒頭に「半角スペース」を入れています…

このボタンを…内部リンク用に…カテゴリー別に色を使い分けて使用しています…

光源「Seagreen」と「Teal」を…それぞれ例にすると…

 南向き三角形付与のボタン / 光源「Seagreen」「class="light light-s triangle-s"」
<span class="light light-s triangle-s"><a href="#">&nbsp;南向き三角形付与のボタン / 光源「Seagreen」</a></span>
 東向き三角形付与のボタン / 光源「Teal」「class="light light-t triangle-e"」
<span class="light light-t triangle-e"><a href="#">&nbsp;東向き三角形付与のボタン / 光源「Teal」</a></span>

開閉系のトリガーボタン

過去記事の開閉系のトリガーボタンも…

 「jQuery」「jQuery UI」第5回「Effects/Slide」ボタンクリックでコンテンツを開閉


この「normal」系のボタンで置き変える事が出来ます…

引用ボタンだけ光源「Purple」で置いておきます…

 Example for Collapse / Blockquote「class="light light-p triangle-s"」

(ボタンクリックで引用が開閉)
<span class="light light-p triangle-s collapse2"><a>&nbsp;Example for Collapse / <span style="color:#1E90FF;">Blockquote</span></a></span> (ボタンクリックで引用が開閉)

<blockquote style="display:none" class="collapse12 toggle ui-corner-all">
Example for Collapse / Blockquote_line1
Example for Collapse / Blockquote_line2
Example for Collapse / Blockquote_line3
</blockquote>

ポップアップ系のトリガーボタン

過去記事の…ダイアログなどの…ポップアップ系のトリガーボタンも…

 「jQuery」「jQuery UI」第7回「Dialog」ボタンクリックでコンテンツをポップアップ


同様に…「normal」系のボタンで置き変える事が出来ます…

記事中の「dialog0」ボタンだけ光源「Red」で置いておきます…

「CSS Sprites」でポップアップの画像 を表示しています…

 Google Bloggerで絵文字を使うためのTips【CSS Sprites 編】


驩驚れ礨栤 㦵ひょ奤ゞメ 榞妥堩焨稞 ぎゃヴィェチュ にゃ飌,
ぴゃ.夯䩵盨 むば㶣䧪㤣 み揣訦でぢゅ こべぬ 櫦갣 ぎょ㠣わ
ゝちゅ ラぽ誧禤ろ かこべぬギュ 榞妥堩焨稞, 㛥へ㠯焧ホゥ
Example Modal Dialog「class="light light-r normal"」
<div class="dialog0" title="You can drag this dialog!">
驩驚れ礨栤 㦵ひょ奤ゞメ 榞妥堩焨稞 ぎゃヴィェチュ にゃ飌,
ぴゃ.夯䩵盨 むば㶣䧪㤣 み揣訦でぢゅ こべぬ 櫦갣 ぎょ㠣わ 
ゝちゅ ラぽ誧禤ろ かこべぬギュ 榞妥堩焨稞, 㛥へ㠯焧ホゥ
</div>
<span class="light light-r normal show-dialog0"><a><span class="id211"></span> Example Modal Dialog</a></span>

【HTML マークアップ】ナビゲーション


マークアップには…「ul」要素を使用します…

記事領域幅の関係で「normal」系で解説しますが

「デフォルト」系でも…勿論…問題ありません…

「normal」だけで…「width」を指定しない…

領域一杯を使うタイプは…こんな感じになります…


<ul class="light">
<li class="light-b normal"><a href="#">Blue</a></li>
<li class="light-g normal"><a href="#">Green</a></li>
<li class="light-y normal"><a href="#">Yellow</a></li>
<li class="light-r normal"><a href="#">Red</a></li>
<li class="light-p normal"><a href="#">Purple</a></li>
<li class="light-rb normal"><a href="#">Royalblue</a></li>
<li class="light-s normal"><a href="#">Seagreen</a></li>
<li class="light-t normal"><a href="#">Teal</a></li>
<li class="light-w normal"><a href="#">White</a></li>
</ul>

「triangle-e」で東向き三角形を付与して…

余分な領域をなくすために…

「style="width:auto"」を指定すると…こんな感じ…


<ul class="light" style="width:auto">
<li class="light-b triangle-e"><a href="#">Blue</a></li>
<li class="light-g triangle-e"><a href="#">Green</a></li>
<li class="light-y triangle-e"><a href="#">Yellow</a></li>
<li class="light-r triangle-e"><a href="#">Red</a></li>
<li class="light-p triangle-e"><a href="#">Purple</a></li>
<li class="light-rb triangle-e"><a href="#">Royalblue</a></li>
<li class="light-s triangle-e"><a href="#">Seagreen</a></li>
<li class="light-t triangle-e"><a href="#">Teal</a></li>
<li class="light-w triangle-e"><a href="#">White</a></li>
</ul>

実装しているナビゲーションは…

更に…ちょこまかやっていますので解説は別途…記事にします…

 マウスホバーで光源が追従しスクロールでページトップに固定される3階層ナビゲーション


「パンくずリスト」も別途…CSS が必要なので同様です…

 パンくずリストをHTML要素のマウスホバー時に光源がカーソルに追従するエフェクトで実装


【HTML マークアップ】検索フォーム


ヘッダーの検索フォームの HTML だけ置いておきます…

肝は…背景に「transparent」を指定する事です…

「CSS Sprites」でサイトのアイコンを付与しています…

 Google Bloggerで絵文字を使うためのTips【CSS Sprites 編】


ヘッダーの検索フォームの HTML


【HTML マークアップ】サイドバータイトル


サイドバータイトルに限らず…違う背景画像を使いたい場合は…

「25px」の高さで背景画像を作成して下さい…

マークアップは…これまでと構造は同じですので…

左サイドバー「Search」ガジェットの HTML を置いておきます…

左サイドバー「Search」ガジェットの HTML


【HTML マークアップ】立体的リボン


過去記事をアレンジすれば…

 CSSだけで作るパステル調の立体的リボン(CSS-3D-Ribbon)


…にも適用できますのでバリエーションの一つとして書いておきます…

<div class="ribbon-back0">
<h4 class="ribbon01 light" style="padding:0;width:110.5%;">
<span class="light-b"><a href="#">Hover me!! / Fantasic Light Title / Blue</a></span><span class="triangle1-l"></span><span class="triangle1-r"></span></h4>
<br style="clear:both;"/>テキスト
<h4 class="ribbon1 light" style="padding:0;">
<span class="light-y"><a href="#">Hover me!!  / Fantasic Light Title / Yellow</a></span><span class="triangle1-l"></span></h4>
<br style="clear:both;"/>テキスト
</div>

おわりに…


「jQuery」が大好きで…至る所に使っていますが…最大の問題は…

ページ読み込みが完了するまでの間…構造がネタバレする事です…

なので…読み込み時に見える範囲は…広告を除いて…

このエフェクトを使っています…

HTML マークアップは…定型文管理ソフトに登録しておくとお便利です…

 Clibor / クリップボード履歴と定型文管理ソフト


最後まで…お読みいただきましてありがとうございます…





0 Comments :

Post a Comment :: Click!!

コメントを投稿

韓国大統領 月山明博(李明博)の…天皇陛下への「不敬発言」
痛惜の念などという単語一つを言いに来るのなら、来る必要はない。
日王は韓国民に心から土下座したいのなら来い。
重罪人にするように手足を縛って頭を足で踏んで地面に擦り付けて謝らせてやる。
重罪人が土下座もしない、言葉で謝るだけならふざけた話だ。
そんな馬鹿な話は通用しない。
それなら入国は許さないぞ。
偽左翼マスメディアの情報操作手法
手法 用例 手法 用例 手法 用例 手法 用例
連想の創出 愛国者に対して「軍靴の音が聞こえそうだ」などと揶揄し否定的な印象を与える… コメント 人々を一定の方向に誘導するために「事実とは異なる解釈」をコメントさせたり「社説」にする… プレゼンス効果 現場からの中継や縮小ジオラマなどで「臨場感」を演出し「やらせ」も交えて信用されやすくする… 分類表 一部の「ネット右翼」が批判しています…のように決まった単語・フレーズで事象を分類して極小化・極大化する…
撹乱 「第三極も含めて政党が乱立して訳が分かりません…」などと連日「情報ノイズ」で溢れさせ興味自体を失わせる… 癒着提案 TBS「安倍官房長官印象操作映像事件」のように「個別の事実」を「継ぎ接ぎ」して「誤った印象」を植え付ける… 匿名の権威 「信頼すべき消息筋によれば…」のように情報元を明かす必要がない事を逆手に取り記事の内容に権威を与える… 日常会話 お隣の「韓国」では…のように本来否定的な要素「韓国」を日常会話のように繰り返し心理的習熟効果で反応を麻痺させる…
感情共鳴 コンサートで開催場所の地名を大声で繰り返し叫ぶ…などのように「デモ」「集会」などで群集を理性ではなく感情レベルで反応させる… 歴史の書き換え 民主党の「天皇制廃止」「戸籍法廃止」「夫婦別姓」などの愛国心を低下させるための国家・民族全体に対する長期的な情報操作… 感情整列 この時間にご覧になっている貴方だけに限定100セットだけ…などと「一定のシチュエーション」を用意して群集の感情を「均一化」させる… 一次効果 「朝日新聞の従軍慰安婦捏造問題」「iPS細胞での読売新聞大誤報」など「最初に発信された情報」は嘘でも捏造でも信用されやすいという原理…
ブーメラン 坂本龍一・山本太郎などの著名人を使い原発管制報道に対する「自由の闘士」を作り出し国力を削るために「愛国者」を装った抗議運動を展開する… 心理的ショック 日本は豊かなのだと錯覚させ更に絞り取るために「飢餓」を伝え…日本は悪い事をしたと日本人を自虐的に思い込ませるために繰り返し「戦争」を伝えます… 半真実 「マニュフェストが実現出来なかったのは自民党の負の遺産のせいで民主党がダメだった訳ではない…」のように嘘の中に一面的な真実を織り込み全体を真実に見せる… フィードバック 「支持政党無しの無党派層は過去最高」という結果を得るために世論調査の回答項目に「民主党もダメだけど自民党もダメ」という項目を設定し全体の意見に偽装する…
すり替え 「傷害」を「いじめ」「窃盗」を「万引き」「殺人事件」を「交通事故」「テロリスト」を「レジスタンス」「略奪事件」を「抗議デモ」など受け入れ易い言葉に置き換える婉曲手法… 脅威の創出 尖閣購入時に「中国の脅威」は民主党政権以降に尖鋭化していたにもかかわらず恰も「都知事発言以降に尖鋭化した」かの如く捏造し民主党には他に選択肢は無かったと責任転嫁… 社会的同意 首相の靖国参拝に「外国」から激しい反発が起こっている…などと…特定アジアだけの意見を恰も世界全体が同意していると錯覚させる…「人権擁護法案」「外国人参政権」などもこの手法… 側面迂回 民主党の原発事故対応では線量などの周辺情報は正確に報じられ枝野幸男の「直ちに健康に影響を及ぼすものではない…」の嘘の信憑性を高めメルトダウン・風向きなどの核心部分は隠蔽された…
虚偽類似 「視聴率低迷は若者のテレビ離れのせい…」「CDが売れないのは違法ダウンロードのせい…」「紅白歌合戦に韓流スターが出演できないのは日本の右傾化のせい…」など都合の良い「原因と結果の因果関係」を作り出す… 事実確認 原発安全神話を作り出したのも公共事業にジャブジャブ税金をつぎ込んだのも自民党です…など…「一面的な事実」を先に述べ「事実確認」させ…自民党政権に逆もどりして良いんですか?…と未来を誤認・錯覚させる… 毒入りサンドウィッチ 「白川総裁が自民党の経済政策を批判」「安倍総裁の経済政策発言を市場が好感し円安に振れ株価は年初来の高値」「一方でハイパーインフレを懸念する声も」…のように序文と結論の否定的報道で肯定的な報道を挟み肯定的な報道の意義を低下させる… 砂糖入りサンドウィッチ 毒入りサンドウィッチの逆の手法…
  偽左翼マスメディアの情報操作手法
「jQuery」と「jQuery UI」で HTML に彩りを添えよう…

「導入」「Button」「Accordion」「Tabs」「Effects/Slide」
「Progressbar」「Dialog」「Tooltip」「Menu」 「Extra」 / 公式「Widgets」以外の「jQuery UI」スクリプト
Blogger Template Customize Universal / INDEX
Blogger テンプレート・カスタマイズ / 全般を解説
高速化・最適化対策の結果と備忘録
Scroll Top