記事一本にまとめるつもりだったんですが、あんまり長くても…と思い、やっぱり分載というか短期集中連載にします。
まあ出来上がってみれば非常に単純なコードですけど…
"takahama"は高浜の背景画像が貼ってある body のID、"btn_takahama"は右下の茶色のボタン領域 div のIDです。
ここでやっていることを、むりやり日本語で書いてみます。
実は、最初はボタンを作る予定はありませんでした。
もっとシンプルに、背景画像のクリックで切り替えたかったんです。
背景クリックでの切り替え自体はできるんですが、背景ではない部分をクリックしても切り替わってしまうんです。
おそらく"takahama"が body要素であるからではないかと推測しています。
body要素はこのページを表示しているウィンドウ全体なので、どこをクリックしても body#takahama がクリックされたと認識されてしまうらしいんです。
どうすれば上に子要素孫要素のある領域を除外できるのか、思いつけませんでした。
というわけでボタンを設置することにしたのデス。逃げたんだな そうデス
これがボタンのデザイン。
こんな小さいボタン一つに大童でした。
慣れたら2~3分でできそうなんだけど、慣れない。
背景スイッチを作ってみた
えーブログの背景を動かしてみたものの、延々と動いているのも辛いので、動かしたり止めたりができるようにしたい!
ということで、あれこれ調べてやってみました。
$(function(){ $('#btn_takahama').click(function(){ if($('#takahama').css('animation-play-state') == 'paused') {$('#takahama').css('animation-play-state','running')}; else {$('#takahama').css('animation-play-state','paused')}; }); });生まれて初めて、コピペではなく自分で書いた jQuery です。
まあ出来上がってみれば非常に単純なコードですけど…
"takahama"は高浜の背景画像が貼ってある body のID、"btn_takahama"は右下の茶色のボタン領域 div のIDです。
ここでやっていることを、むりやり日本語で書いてみます。
次の関数を実行せよ{ "右下のボタン"がクリックされた時には次のようにせよ{ "背景画像"の"アニメの状態"を示すCSS属性の値を取得し、それが"一時停止"なら {"背景画像"の"アニメの状態"を示すCSS属性に"再生"という値を設置}。 そうでないなら {"背景画像"の"アニメの状態"を示すCSS属性に"一時停止"という値を設置}。 }。 }。要約:背景のPLAY/STOPをボタンで切り替えやがりなさいですわ!
実は、最初はボタンを作る予定はありませんでした。
もっとシンプルに、背景画像のクリックで切り替えたかったんです。
$(function(){ $('#takahama').click(function(){ if($(this).css('animation-play-state') == 'paused') {$(this).css('animation-play-state','running')}; else {$(this).css('animation-play-state','paused')}; }); });これがどうしてもうまくいかなかった。
背景クリックでの切り替え自体はできるんですが、背景ではない部分をクリックしても切り替わってしまうんです。
おそらく"takahama"が body要素であるからではないかと推測しています。
body要素はこのページを表示しているウィンドウ全体なので、どこをクリックしても body#takahama がクリックされたと認識されてしまうらしいんです。
どうすれば上に子要素孫要素のある領域を除外できるのか、思いつけませんでした。
というわけでボタンを設置することにしたのデス。逃げたんだな そうデス
これがボタンのデザイン。
/*固定ボタン(背景用) ----------------------------------------------- */ div#btn_takahama{ position: fixed; right: 10px; bottom: 10px; /*画面上の位置*/ border-radius: 4px 4px; border: 2px ridge White; /*枠線*/ padding: 4px; /*内側の余白*/ background-color: #755; /*ボタンの色*/ font-size: 0.9em; color: #ddd; /*文字の大きさ・色*/ text-align: center; /*文字の横位置*/ transition: ease 0.3s; /*切り替えのタイミング・速さ*/ } #btn_takahama::before{ /*ボタンに表示する文字*/ content: "Click Me"; /*画像も表示可*/ } #btn_takahama:active{ /*クリックした時のデザイン*/ position: fixed; right: 8px; bottom: 8px; border-radius: 4px 4px; border: 2px ridge White; padding: 4px; background-color: #a88; color: White; text-shadow: 1px 1px 1px Black; /*文字の影*/ }ボタンの位置があっちへ飛んだりこっちへ飛んだり、画面全体を覆いつくしたり…
こんな小さいボタン一つに大童でした。
慣れたら2~3分でできそうなんだけど、慣れない。
コメント