ラベル 【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


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


2013-07-22

アンケート フォームの作成


●ただのフォームから
<form method="POST" action="xxx.php">
    <label>名前:<input type="text" name="name" placeholder="山田 太郎" /></label><br /><br />
    <label>メールアドレス:<input type="email" name="email" /></label><br /><br />
    <label>郵便番号:<input type="number" name="zip" /></label><br /><br />
    性別: <label>女:<input type="radio" name="sexes" value="wman" /></label>
           <label>男:<input type="radio" name="sexes" value="man" checked /></label><br /><br />
    <label>年齢:
    <select name="age">
     <option value="age_10">10代</option>
     <option value="age_20">20代</option>
     <option value="age_30">30代</option>  
     <option value="age_40">40代</option>
    </select>
    </label><br /><br />
    ご使用のOS:<br />
    <label><input type="checkbox" name="os" value="win" checked/>Win</label>
    <label><input type="checkbox" name="os" value="mac" />Mac</label><br /><br />

    <label>サイトへのご意見:<br />
     <textarea name="message" placeholder="ここにテキスト"></textarea>
    </label><br /><br />
  
  <input type="submit" value="送信" />
</form>


※『placeholder』属性はhtml5から
※半角入力はCSSで制御(ime-mode)できるが、IE独自仕様、使うのにためらう。絶対半角ではない。googleが制御してないから使わない
※『type="email"』は『html5』で追加された機能
※ラジオボタンやセレクトなど選択肢が複数の場合は、nemeとvalueで一組








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

html5ありのフォーム
http://www.htmq.com/html5/input.shtml

htmlフォーム
http://www7b.biglobe.ne.jp/~homepage-note/html-base-3.html

フォームのおさらい ※HTML
http://hinaoka.blogspot.jp/2011/06/html.html


ime-mode-スタイルシートリファレンス
http://www.htmq.com/style/ime-mode.shtml

日本語入力(IME)の状態を制御する方法
http://allabout.co.jp/gm/gc/23804/




2013-07-03

cssで背景を差し替え【jQuery】



$(this).css("background-image","url(images/xxx.png)");



●間違ってた .cssのかき方

★margin-leftとかの場合

ハイフンを消して、大文字にするのは、

CSSを複数指定したとき、animate()の中で.CSSを使うとき


1つのときは、普通でOK

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

→animate()について 【jQuery】

2013-02-21

配列のメソッドについてのメモ


jQuery の配列系のメソッドをメモしとこ - てっく煮ブログ
http://d.hatena.ne.jp/nitoyon/20081121/jquery_array

配列のメソッドについてのメモ


jQuery の配列系のメソッドをメモしとこ - てっく煮ブログ
http://d.hatena.ne.jp/nitoyon/20081121/jquery_array

画像拡大 まわりが黒い【jQuery】

オーバーレイ

・オーバーレイ | よく使うjQuery
http://finefinefine.jp/web/kiji1243/

documentオブジェクト


documentオブジェクトとは?

HTML文書ページをオブジェクトにしたもの
 (JavaScript-documentより↓)
 http://kde.is.tsukuba.ac.jp/~hironori/JavaScript/document/index.html

かき方↓
(JavaScriptリファレンス)
http://htmq.com/js/index.shtml#js_document

2013-02-15

アメブロ広告移動

一番上のでっかい広告を移動させる。

【jQuery】で移動させているらしい

プラグインの追加→ フリープラグイン


これをコピペ↓

<script src="http://www.google.com/jsapi"></script>
<script>google.load('jquery','1')</script>
<script>(function(j){j(function(){$=jQuery=j})})($)</script>

<script type="text/javascript">
$(function(){
$(".headerBnrArea").insertAfter(".●●");
});
</script>


★…jQueryつかいまっせの意味(*1)

★…バナー広告のボックス

★…移動したいボックスのclass名

insertAfter…指定した要素の後に挿入



指定した要素だからクラスがかかってる<div>をそのまま指定した<div>に挿入する



*1…この3行目は、アメブロ自体が読み込むjQueryじゃなくて最新版を使えるようにしているらしい

とてもわかりやすく解説しているサイト↓

アメブロのフリープラグインで最新バージョンのjQueryを使う方法 - アメブロカスタマイズ図書館 http://ameblo-customize.com/index.php?customize_jquery



アメブロカスタマイズで成功するブログを作ろう
http://ameblo.jp/wazameba/entry-10626965362.html

2012-12-04

パララックス スクロールで動かす 【jQuery】

◆スクロールの上からの位置を取得

「.text」に取得したスクロールの位置を置き換える

スクロールする必要があるのでCSSで高さを適当にいれる

「.text」をCSSで動かさないようにする。

*html側
<p class="text">スクロール</p>


*CSS側
body{
height:1000px;
}

p.text{
position:fixed;
top:10px;
left:10px;
}


*js側
$(window).scroll(function(){
 $(".text").text($(window).scrollTop());
});

$(window).scroll…スクロールしながら

$(window).scrollTop()…上からの位置を取得

↑の位置情報を変数の中にいれてあげると、かけたりわったりできる。
$(window).scroll(function(){
 var yy=$(window).scrollTop();
 $(".text").text(yy+":"+yy/2);//連結
});


↓スクロールすると「★」が縦にならんで出てくる
→

*js側
 $("#box1").css("top",yy);
 $("#box2").css("top",yy-15);
 $("#box3").css("top",yy-30);
 $("#box4").css("top",yy-45);

「★」にそれぞれIDをふってずらす。

横に動かしたいときは、leftにかえる



↓スクロールすると背景がうごく

 $("#box1").css("backgroundPosition",'10px '+yy+'px');

※半角のスペースをいれないと動かない


------------------参考サイト------------------
パララックスの作り方
http://webdrawer.net/javascript/parallax.html

ページ内リンクの移動をゆるやかにする



// to top

$("a[href^=#]").click(function(){

var Hash = $(this.hash);


var HashOffset = $(Hash).offset().top;


$("html,body").animate({ scrollTop: HashOffset}, 500);


return false;
});



解説↓
参考サイト:http://less.carbonfairy.org/post/941824993

totopだけなら簡単かも
↓参考サイト
http://www.finefinefine.jp/web/kiji1388/


スクロールTOPの理解

↓参考サイト
http://semooh.jp/jquery/api/css/scrollTop/val/


●スクロールについて
スクロールイベント…スクロールされてるときに処理する
$(window).scroll(function(){
//スクロールされているときの処理
});

----参考サイト---
http://semooh.jp/jquery/api/events/scroll/fn/



●スクロール位置情報 ※スクロールがあるものに対して

↑のスクロールしながら…を使って、スクロールの位置を.textにいれている

$(window).scroll(function(){$(".text").text($(window).scrollTop());
});


注:スクロールがないと【0(ゼロ)】となる。




 hashについて
http://www.tohoho-web.com/js/location.htm

2012-10-24

座標を知りたい offset(); 【jQuery】

◆指定した要素の座標

●●(イベント)した要素の座標
e.offsetX e.offsetY

→マウスの座標はこちら

その他座標色々まとめ↓参考サイト
--------------------------------------------------------------
・jQueryでマウスの座標
http://the-zombis.sakura.ne.jp/wp/?p=447

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

◆クラスの追加

 .addClass("クラス名")

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



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

2012-10-12

_on _off で画像ボタンの切り替え

画像の最後に「_on」「_off」をつけてフォルダの中に入れておくだけ

ボタン(img)にクラス指定(rollover)


 js側
$("img.rollover").mouseover(function(){
$(this).attr("src",$(this).attr("src").replace(/^(.+)_off(\.[a-z]+)$/,"$1_on$2"));
}).mouseout(function(){
$(this).attr("src",$(this).attr("src").replace(/^(.+)_on(\.[a-z]+)$/,"$1_off$2"));
});



-解説-

$("img.rollover").mouseover(function(){
 $(this).attr("src","★★★");
});


mouseover…マウスイベント(マウスオーバーのとき)


.attr()…属性の置き換え(srcに★★★にさしかえてね)

★★★…「_off」の部分を「_on」に差し替えるものが入る


★★★の部分↓
$(this).attr("src",$(this).attr("src").replace(/^(.+)_off(\.[a-z]+)$/,"$1_on$2"));

●文字列の差し替え javascript
文字列.replace(パターン,置き換える文字列)


パターンの部分↓
 ・/~/の間に正規表現をかく
 ・「^」文字列の先頭を意味さす
 ・「$」文字列の最後を意味さす
 ・「(.+)」1以上の何かの繰り返し(img/ooo)
 ・「(\.[a-z]+)」ドットと何かのa~zまでの繰り返し(.pngなど)

置き換えるものの↓
 ・「$1」最初の()カッコ
 ・「$2」2個目の()カッコ


◆正規表現
文字列の特徴と特殊記号の組み合わせであらわしたもの




------------------- 参考サイト ---------------------
正規表現色々↓

・誰かのホームページ Java Script - Tips Menu
http://www.24w.jp/study_contents.php?bid=other&iid=other&sid=other&cid=001

http://www.24w.jp/study_contents.php?bid=javascript&iid=javascript&sid=string&cid=004

2012-10-05

超簡単タブメニュー《改》【jQuery】


小難しくなくて、わかりやすく

◆切り替えと画像差し替え

html側
   <ul id="select">
        <li><img src="img/btn_01_off.gif"  id="select_01" /></a></li>
        <li><img src="img/btn_02_off.gif" id="select_02"  /></a></li>
   </ul>

<div id="box_01" class="box"> 中身 </ div> 

js側

$(".box").hide();//切り替えのBOXをすべて見えなくする
$("#box_01").show();//最初に見えるBOXを表示

$('#select_01').click(function(){
$("#box_02").hide();
$("#box_01").show();
$(this).attr("src","img/btn_01_on.gif");
$("#select_02").attr("src","img/btn_02_off.gif");
});

$('#select_02').click(function(){
$("#box_01").hide();
$("#box_02").show();
$(this).attr("src","img/btn_02_on.gif");
$("#select_01").attr("src","img/btn_01_off.gif");
});

※タグメニューが2つの場合のみ有効です。

◆上のソースを少し変えてフェードイン・フェードアウトさせる
※注:切り替える内容部分のBOXを重ねておかないと、変な動きをします。
positionで0,0

js側

$(".box").hide();//切り替えのBOXをすべて見えなくする
$("#box_01").show();//最初に見えるBOXを表示
$("#select_01").attr("src","img/btn_01_on.gif");//最初に見えるBOXのボタンをonにしておく


$('#select_01').click(function(){
$(".box:not(:animated)").fadeOut("slow",function(){
$("#box_01").fadeIn("slow");
});//コールバック関数、処理終わったらフェードインしてねの意
$(this).attr("src","img/btn_01_on.gif");
$("#select_02").attr("src","img/btn_02_off.gif");
});


$('#select_02').click(function(){
$(".box:not(:animated)").fadeOut("slow",function(){
$("#box_02").fadeIn("slow");//連続で押されないための処理
});
$(this).attr("src","img/btn_02_on.gif");
$("#select_01").attr("src","img/btn_01_off.gif");
});



◆tabが増えてもわざわざ書き出さない
 --------------------- 参考サイト ----------------------
↓↓こっちはコピペで親切
・【jQuery】これで簡単!フェード処理で切り替わるタブコンテンツの作成方法 | KLUTCHE
http://klutche.org/archives/682/

上のサイトを少し変更したものが↓ ※hitmlはaタグ(アンカー)で飛び先を指定します。

▼ボタンを特に指定しないとき
     $(".tab_content").hide();
     $("ul.tabs li:first").show();
     $(".tab_content:first").show();
     
     $("ul.tabs li").click(function() {
          $(".tab_content").hide(); …★
          var activeTab = $(this.hash);
          $(activeTab).fadeIn();
          return false;
     });

★…「fadeOut」するときは、positionで0,0配置


▼ボタンをCSSできりかえたいとき
     $(".tab_content").hide();
     $("ul.tabs li:first").addClass("active").show();
     $(".tab_content:first").show();
     
     $("ul.tabs li").click(function() {
          $("ul.tabs li").removeClass("active");
          $(this).addClass("active");
          $(".tab_content").hide();
          var activeTab = $(this.hash);
          $(activeTab).fadeIn();
          return false;


※$(this.hash)…ここでいう、クリックしアンカーの「href」を取得したいときにつかう



--------------------- そのほかの参考サイト ----------------------

jQueryを使った簡単なタブ切り替えのサンプル| KADOYAN.com
http://www.kadoyan.com/item/509#nucleus_cf


【jQuery】これで簡単!フェード処理で切り替わるタブコンテンツの作成方法 | KLUTCHE
http://klutche.org/archives/682/

2012-09-25

横長ページ ページ内リンク 【javascript 】【jQuery】

マージンをずらした横長のサイト

別ページからのリンク、またはボタンで指定したボックスがメインでみえるようにする(ページ内リンク)


URLで振り分ける。

↓簡単なテスト
$(function(){


var a="http://サイト名.html#";
var b=document.URL;

if(a==b){
alert("同じです");★
//$("#yoko_in").css("margin-left",-mg*2+"px");
}

});


document.URL…サイトのURLを取得できる
★…自分のサイトの初期設定を指定したいdivのところにいくようにマージンをマイナスにする。



---------------- 参考サイト ---------------
・document.URL-JavaScriptリファレンス
http://www.htmq.com/js/document_url.shtml

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-19

横のスライド エンドレス 【jQuery】

※コピペ※プラグインなし



▼html側
<body>
<div id="allwrap">

<h1>画像の切替</h1>

<div id="yoko"><!--見える部分-->
  <div id="yoko_in"><!--動く部分-->

<div id="no01" class="yoko_all">
 <h2><span>画像の切替</span></h2>
 <p><img src="img_01.png" alt="AAA" width="200" height="150" /></p>
 <p>内容<br>テキストダミー</p>
</div>

   
<div id="no02" class="yoko_all">
 <h2><span>画像の切替</span></h2>
 <p><img src="img_01.png" alt="AAA" width="200" height="150" /></p>
 <p>内容<br>テキストダミー</p>
</div>

<div id="no03" class="yoko_all">
 <h2><span>画像の切替</span></h2>
 <p><img src="img_01.png" alt="AAA" width="200" height="150" /></p>
 <p>内容<br>テキストダミー</p>
</div>

<div id="no04" class="yoko_all">
 <h2><span>画像の切替</span></h2>
 <p><img src="img_01.png" alt="AAA" width="200" height="150" /></p>
 <p>内容<br>テキストダミー</p>
</div>


  </div><!--//yoko_in-->
</div><!--//yoko-->

<div id="btn_box">
     <p class="prev_btn"><<左</p>
     <p class="next_btn">右>></p>
</div>

<p>テキストテキストテキスト</p>

</div><!--//all-->


</body>



▼CSS側
body{
margin: 20px 0;
}

h2{
height:16px;
}

#allwrap{/*全体のセンター*/
margin:20px auto;
text-align:center;
position:relative;/*ボタンも動かすから*/
}

/* yoko */
#yoko{/*見える部分*/
width:900px;
height:500px;
overflow:hidden;
position:absolute;
top:0;
left:0;
}

#yoko_in{/*動く部分*/
height:100%;
width:;
}

#yoko_in .yoko_all{
width:;
float:left;
background:#eeeeee;
}

/* btn_box */
#btn_box{
width:100%;
position:absolute;
top:50px;
left:0;
}

#btn_box p{
width:50px;
height:50px;
padding:10px;
background:#666666;
color:#ffffff;
cursor:pointer;
}


#btn_box .prev_btn{float:left;}
#btn_box .next_btn{float:right;}


▼js側
$(function(){



var mg ="900";//横幅を指定

//横に並ばせる(フロート)
$("#yoko_in .yoko_all").css("width",mg);
$("#yoko_in").css({width:mg*$("#yoko_in .yoko_all").length,margin-left:-mg+"px"});//横幅×yoko_allの数
$("#yoko_in div.yoko_all:last").prependTo("#yoko_in");//一番後ろを前に


//next

$("#btn_box .next_btn").click(function(){
$("h2 span").fadeOut("fast");
$("#yoko_in:not(:animated)").animate({marginLeft:parseInt($("#yoko_in").css("margin-left"))-mg+"px"},"slow","swing",
function(){
$("#yoko_in").css("margin-left",-mg+"px");
$("#yoko_in div.yoko_all:first").appendTo("#yoko_in");
$("h2 span").fadeIn("slow");
});

});

//prev
$("#btn_box .prev_btn").click(function(){
$("h2 span").fadeOut("fast");
$("#yoko_in:not(:animated)").animate({marginLeft:parseInt($("#yoko_in").css("margin-left"))+mg*1+"px"},"slow","swing",
function(){
$("#yoko_in").css("margin-left",-mg+"px");
$("#yoko_in div.yoko_all:last").prependTo("#yoko_in");
$("h2 span").fadeIn("slow");
});

});


//マウスオーバー(透明・不透明)

$("#btn_box p").css("opacity",0.5);

$("#btn_box p").mouseover(function(){
$(this).css("opacity",1);}).mouseout(function(){
$(this).css("opacity",0.5)});

});





※ボタンのボックス(#btn_box)のところとコンテンツ内の重なってる部分に リンクがあるとリンクされない。のでmouseoverしたら、コンテンツを前にだす。(z-index)

CSSプロパティプ 数字のみ 【javascript】 【jQuery】

↓imgの横の長さに「+100px」をする

▼CSS側
img{
width:200px;
}



このまま.cssで取得すると

「200px」と取得してしまうところを

「200」数字のところのみほしいときに使う


▼js側
aa=parseInt($("img").css("width"))+100+"px"
 
$("img").css("width",aa);  

↑変数aaの中にいれたのは特に意味はなし

parseInt()・・・(パースイント)文字列を数字に変換してくれるもの。

要素の数 【jQuery】

olの中の「li」の数を調べる
▼html側
<ol>
<li>テキストダミー</li>
<li>テキストダミー</li>
<li>テキストダミー</li>
</ol

▼js側
alert($("ol li").size());



「size()」は非推奨らしいので↓で使う。
alert($("ol li").length);

2012-09-13

透明にする【jQuery】【CSS】

◆CSSで透明度を調節する場合



▼CSSのみで透明度を変更
「1」がそのまま、「0.0」が完全に透明
#ID名{
opacity:0.5;
}

※IE8以降は、↑のままではききません。

IEプラス↓
#ID名{
opacity:0.5;
filter:alpha(opacity=50);
}




▼両方指定するのは面倒だから、jQueryで指定する
$("#ID名").css("opacity",0.5);





-------------- 参考サイト ----------------------
・モダンブラウザとIEに対応したopacity指定 | PAOLOG
http://scianto.net/2009/08/09214844.php

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