CREATOR BLOG

【jQuery】初心者が陥りやすいjQueryの罠3つ

2014/12/26
tan
  • このエントリーをはてなブックマークに追加

jQueryはデザイナー向けのと言われるだけあり、扱いが簡単です。
そのためプログラミングはよく分からないけどjQueryはなんとか動かせる…という方も多いです。
私もその一人だったのですが…何度もjQuery罠にハマりました。
中でもはまりやすい有名なものとその解決法を、3つ紹介します。

もくじ

  1. アニメーションが連続してしまう
  2. セレクタに「#」や「.」を付け忘れる
  3. jQueryで追加した要素にイベントセレクタを指定しても、動かない

  1. アニメーションが連続してしまう
  2. セレクタに「#」や「.」を付け忘れる
  3. jQueryで追加した要素にイベントセレクタを指定しても、動かない
  4. まとめ

アニメーションが連続してしまう

単純にアニメーションを設定すると、イベントが起きた数だけアニメーションします。
そのため、イベントを何度も起こすとアニメーションが連続してしまいます。
デモではトリガー1を何度もクリックすると、ターゲット1がいつまでも点滅すると思います。

jQuery

html

トリガー1

ターゲット1

.stop(true,true)をつけましょう

stopは指定した要素が動作中のアニメーションを中止する関数です。
アニメーションはstopとセットで使うようにすれば間違いないです。

jQuery

html

トリガー2

ターゲット2

セレクタに「#」や「.」を付け忘れる

普通に指定したら間違わないかもしれませんが、一度変数に格納したりすると付け忘れることがあります。

jQuery

html

トリガー3

ターゲット3

変数の中身に何が入っているかを意識しましょう

3番目のデモでは変数targetIdに入っているのはfuga3だったため、セレクタがうまく指定できていませんでした。
#をつけてあげると動きます。

jQuery

html

トリガー4

ターゲット4

jQueryで追加した要素にイベントセレクタを指定しても、動かない

デモではjQueryで#block5の中にトリガー5の要素を入れています。
.click~が読まれた時にトリガー5は存在していないのでうまく動きません。

jQuery

html

ターゲット5

.onを使いましょう

onは後から追加する要素にもイベントを定義できるので、onを使うと動くようになります。

jQuery

html

ターゲット6

まとめ

以上、初心者がはまりやすい罠をまとめてみました。
~を~すればできるはずなのに、と決めつけてしまうと結構はまってしまいます。
プログラムを書いていると、エラーが出るのは日常茶飯事です。諦めないで書いてみましょう。

解決するには、詳しい人に聞くのが一番の近道だと思います。
コンソールを使ったり、alertを挟んだりなど、エラーの原因を探す方法を知るのも手です。
ネット上には間違った情報や古くて使えなくなっている情報も多いので、気をつけて使いましょうね!

Recent Entry

CSSの単位まとめ pxからvm/vh/vmin/vmaxまで

レスポンシブHTMLメールを作ってみての感想

CSSのリファクタリングでした5つのこと

大人が読んでも頭を使う絵本の紹介

サイト内にうまくInstagramを取り入れてるサイト11選

Category

Archive