ラベル 【jQuery】イベント の投稿を表示しています。 すべての投稿を表示
ラベル 【jQuery】イベント の投稿を表示しています。 すべての投稿を表示

2015-09-13

フォームのチェック 【jQuery】


送信ボタンが押された後、アクションに送信する前に実行するためには↓

$(function(){
$("form").submit(function(){
       alert('テスト'); 
       return false; ←送信キャンセル
  });});

html5のエラーメッセージをなくす
formタグに novalidate


【html】に↓

条件を示すCSS
validete required number mail

をinputタグに指定する。

条件を満たしていないものに下記エラーのCSSをつくる

error
エラーメッセージ

<input type="text" name="name" value="" id="name" class="validate required" />



★順番
チェックするimputタグにclass指定【validete】

必須項目に【required】をCSS複数指定もしくは下の二つのCSS

【number】は数字かチェック

【mail】メアドかチェック



▼テーブル▼

$(function(){
 $("#contents_form form").submit(function(){
  //エラーの初期化
  $("p.error").remove();
  $("td").removeClass("error");
  
  $("input,textarea").filter(".validate").each(function(){
   
   //必須項目のチェック
   $(this).filter(".required").each(function(){
    if($(this).val()==""){
     $(this).parent().prepend("<p class='error'>必須項目です</p>");
    }
  });
     
   //数値のチェック
   $(this).filter(".number").each(function(){
    if(isNaN($(this).val())){
     $(this).parent().prepend("<p class='error'>数値のみ入力可能です</p>");
    }
    if($(this).val()==""){
     $(this).parent().prepend("<p class='error'>必須項目です</p>");
    }

   });
   
   //メールアドレスのチェック
   $(this).filter(".mail").each(function(){
    if($(this).val() && !$(this).val().match(/.+@.+..+/g)){
     $(this).parent().prepend("<p class='error'>メールアドレスの形式が異なります</p>");
    }
   });
  
  });

//エラーの際の処理
  if($("p.error").size() > 0){
   
    $("p.error").parent().addClass("error");
 return false;
  }
  
 });
});

※必須の場合はこの部分を足せばOK
他のやり方はまた今度探す

 $("要素").filter("クラス").each(function(){
別の条件で絞込み繰り返し

その中の
$(this).filter("違うクラス")

【validete】クラス、チェックしますよ。
そんでもって【validete】の中の【required】クラスはこう処理してね。の意味



------------参考サイト----------------

jQueryでフォーム入力をチェックする

 http://www.tam-tam.co.jp/tipsnote/javascript/post3828.html

プラグインを使わずにjQueryでフォームチェック(validate) | WordPress
http://blog.web4natural.com/webprogram/72

HTML5/フォーム/form要素 妥当性のチェックを無効にする - TAG index Webサイト
http://www.tagindex.com/html5/form/form_novalidate.html


-------------参考書籍---------------------


2012-10-24

クラスの追加とクラスの削除

◆クラスの追加

 .addClass("クラス名")

◆クラスの削除
 .removeClass("クラス名")



--------------------- 参考サイト --------------------
http://www.atmarkit.co.jp/fdotnet/jqueryref/02attribute/attribute_06.html

2012-09-21

マウスイベント ※【jQuery】

押したとき…mousedown
離したとき…mouseup

上にきたとき…mouseover
はずれたとき…mouseout(

マウスの座標をつかって何かをするとき…mousemove
*どんなふうに使うのか

★指定したセレクター上でマウスが動いてるとき
<例>
$(”img”).mousemove(function(e
         &(”p”).html(”X座標:”+e.clientX+”<br>Y座標:”+e.clienY
);});}

function(eにするとイベントの座標が取得できます。
e.clientX…X座標
e.clienY…Y座標


『+』の演算子は、文字列同士の連結



▼jsファイル(※コピペ可)
$("img").mousemove(function(e){
  xx = e.clientX;
  yy = e.clientY;

 $("p").text(xx+","+yy);

})


★ページ全体のY座標とX座標の場合…
e.pageX…X座標
e.pageY…Y座標


★mouseoutを使うときの注意点
子要素(liとか)もオーバーとみなされる。簡単な解決方法なし。




マウスイベントじゃなくて、
→指定したセレクタの座標を知りたいときはこちら


→イベント一覧に戻る

2012-09-20

css 複数指定するとき 【jQuery】

▼1つだけ
$("#yoko_in .yoko_all").css("margin-top","20px");


//▼複数
/*①*/
$("#yoko_in .yoko_all").css("margin-top","20px").css("padding-top","20px");

/*②*/
$("#yoko_in .yoko_all").css({marginTop:"20px",paddingTop:"20px"});

//プロパティ名:"値"

※②はプロパティ名を「""」でかこまない
※(-)ハイフンは削除、ハイフンの次にくるのを大文字。
padding-top→paddingTop

※「,」…カンマの位置などに注意

2011-06-08

jQuery応用編

◆画像とテキストの切替


左のボタンをクリックすると、右の写真の”ALTとテキスト”部分が変わる。


html側



js側

クリックしたら、リンクの『hrefとテキスト』をイメージの『srcとALT』にいれてね。そんでもって、イメージの『ALT』をイメージしたのテキストにいれてね。の意。


※リンクのテキストは、CSSで見えなくさせる。


$(this)をつかうときに気をつけること。


最初に、<a>タグの中の<img>のALTをテキストにいれようとした。
が、$(this)は、イベントが発生した要素を習得してくれるので<a>タグの中に
属性がないので、読み込んではくれなかった。.attrだからダメだったのかも??



メソッドチェーンで気をつけること

どのセレクターに対して、命令するのか、ちゃんと理解すること



画像が、ただのサムネイルでいいとき*は、もっと簡単になる。→画像切り替え
リンクタグにいれない。srcはそのまま、ALTをテキストにいれる。
*サムネイルと、普通サイズの画像が同じ場合

2011-05-12

ダブルクリックしたとき ※【jQuery】

クリックしたときに、一番初めのクリックを無効にする。
しないと<a>のリンク先にとぶ。

クリックのときは、『return false』と最後にかくが、
クリックしたら『return false』とかく。


メソッドチェーンを使って、つなげてかく。

分かりやすく色づけしてみる


イベント一覧に戻る

2011-04-22

$(this)

★イベントが発生した要素を習得してくれる。

◆$(this)を使って、画像の切替をしてみる

↓HML側

※このPタグの画像をリストのテキストリンクで切り替える。

▼普通に指定したとき
aタグを指定(順番)して、ひとつひとつに、この画像にとんでくださいねと命令している。


↓↓
$(this)を使ってみる

クリックされた<a>(イベント発生)に対して、その要素を使って命令している。


※テキストリンクの<a>はこんな感じに指定しておく。
<a href=”img01.jpg”>イメージ01です。</a>




◆どうやって使うのか、どこに置くのか

イベントクリックで、イメージの切替をしたとき
.attr(”src”,”img01.jpg”)
※クリックしたらsrcにimg01.jpgを差し替えてね。の意

これを$(this)を使うと…
.attr(”src”,$(this).attr(”href”))
※クリックしたら、クリックしたhrefをsrcに差し替えてね。の意

テキストリンクの場合、altもテキストリンクをそのまま入れることもできる
.attr(”alt”,$$(this).text());




HTML側の要素をかくだけで、自動的にそのものの要素を習得してくれる



★その他、thisとの違い

簡単に言うと、jQueryオブジェクトとして使うときは→$(this)


--参考サイト↓--

jQueryの$(this)とthisの違い : ずっと工事中
http://blog.livedoor.jp/eeu/archives/55307897.html

マウスを使った画像の切替 《改》 ※【jQuery】

◆クリックすると画像が切り替わる


クリックすると画像が切り替わる
※左の小さい画像をクリックすると、大きい画像が差し替わる


★js側
$(function(){
$("#main_img li a").click(function(){
$("#img_in img").attr("src",$(this).attr("href"));
return false;
});
});


<a>タグのhrefに飛んでしまわないために、命令した後で、
return false;といれる。※注:リンクが二つの場合は、二つ必要。

普通にjsをかいていくと、とっても長くなってしまうので、
みじかくするために$(this)を使う。

★HTML側
<h1>ただの画像切り替え</h1>
<ul>
<li><a href="img/img01_w.jpg"><img src="img/navi01.gif" ></a></li>
<li><a href="img/img02_w.jpg"><img src="img/navi02.gif" ></a></li>
<li><a href="img/img03_w.jpg"><img src="img/navi03.gif" ></a></li>
</ul>

<p id="img_in"><img src="img/img03_w.jpg" width="200" height="150" alt=""></p>
クリックする画像のリンク先を差し替える画像にする。




◆マウスが上にくるときにアニメーションっぽく画像が切り替わる


マウスが上にくるときにアニメーションっぽく画像が切り替わる
※左の小さい画像にマウスがくると、大きい画像が差し替わる


*考え方*

→画像を重ねて、手前を薄くする。

★HTML側 ※上の切替と同じ
<h1>ただの画像切り替え</h1>
<ul>
<li><a href="img/img01_w.jpg"><img src="img/navi01.gif" ></a></li>
<li><a href="img/img02_w.jpg"><img src="img/navi02.gif" ></a></li>
<li><a href="img/img03_w.jpg"><img src="img/navi03.gif" ></a></li>
</ul>

<p id="img_in"><img src="img/img03_w.jpg" width="200" height="150" alt=""></p>



★CSS側 ※画像を重ねる
#img_in{
position:relative;
}

#img_in img{
position:absolute;
left:0;
top:0;
}



★js側
$(function(){
$("#main_img li a").mouseover(function(){
$("#img_in img").before("<img src='"+$(this).attr("href")+"' >");
$("#img_in img:last").fadeOut("fast",function(){$(this).remove()});
}).click(function(){return false});
});

マウスが上にきたら、大きい画像の前にそのリンク先(href)の画像をいれてね、そんでもって、後ろにあるのを薄くしてね、したら消して、小さい画像をクリックしてもリンクさきにとばさないでね。の意。

mouseover…マウスが上にきたら
before…前に追加
fadeOut…フェードアウト ※ページ一番下

↑詳しくはコチラ

※画像の重なり方が前から下になっていくので最後の画像(:last)をつかう。


◆fadeInとfadeOut(透明度)


fadeIn…だんだん表示
fadeOut…だんだん非表示

-----------------------------------<例>----

$("セレクタ").fadeOut(”スピード””コールバック関数”);

---------------------------------------------


▼スピードについて
早い(fast)、普通(特に指定なし・normal)、遅い(slow)

→コールバック関数とは?

2011-04-15

イベントについて ※【jQuery】

◆イベントについて

どこにかくのか、基本形式の中にイベントをかいて、そのまた中に、内容が入る

$(function(){
$(”ボタン”).click(
}); 注:ブルーは基本形式です。

↓↓
function(){
&(”画像”).attr(”src”,”image02.jpg”);}


◆クリック【click

クリックしたら○○○を実行する。

画像切り替えについてはこちら


◆ダブルクリック【dblclick

クリックしたら○○○を実行する。

ダブルクリックするときの注意点


◆トグル【taggle

開閉メニュー/クリックするたびに何かがおこるもの(順番)

◆マウスイベント

マウスを押したとき・はなしたとき、を実行する。【mousedown/mouseup
マウスが上にきたとき・はずれたとき、を実行する。【mouseover/mouseout
マウスの動きに合わせて【mousemove

◆【one

イベントに対して一回だけ

◆アンバインド【unbind

イベントを取消

◆【live

将来追加される要素

アマゾン和書/最新の情報