CAT | Tips

まあ見ての通りなんですが、
Magic Mouseの底のフタが約4gもあるという事実を確認。
ということで即行で外しました。
軽くなる上に電池の入れ換えも楽だし、いいことずくめ。
使っていて電池が落ちてくるようなこともないので
とっとと外してしまいましょう。w
このシリーズだとアクセス数がめっきり減るけどめげないで続けてみる。
前回登場のanimateを使って、
ページ内リンクでの移動をアニメーションでやってみる。
これよくあるよね。
この程度ならプラグインを使わなくても
そこそこ簡単にjQueryのメソッドだけで実装出来るのだ。
自力で書いてみてこそオトコというものだ。
まずはサンプル ※詳しくはソース見て
これは、リンク先のターゲットと
クリックイベント用のクラスを手動で指定してます。
面倒なのでこんな風に変えて見た。
$(‘a[href*=#]‘).click(function(){
として、#◎◎となっているリンクエレメントを
まとめてクリック判別出来るように記述
var targetTo = $(this.hash);
var targetOffset = targetTo.offset().top;
クリックされたリンク先のハッシュを抜き出して、移動先の位置を取得。
せっかくなので、これも前回登場のeasingプラグインを使って
派手な動きをしてみたサンプル。
シンプルだけど、なかなか面白い。
そろそろ本題(非同期通信)に入ってみたいと思いつつ、いつまで続くこのシリーズ。
だらだらと続いているこのシリーズ
ほとんど覚え書き状態になりつつあるけど気にせず突き進むのだ。
Lightbox系のエフェクトが当たり前に使われてて
jQueryのライブラリもたくさん出てる。
こういったエフェクトは、基本的にcssとanimateの組み合わせでできてる。
ということで、jQueryでできるアニメーションの基本部分を見てみたい。
まずはサンプル
$(this).animate({最終形態のCSS},実行スピード);
こんな感じでアニメーションが簡単に作れる。
toggleを使って、最初のクリックと次のクリックで違う動作を割り当てて
ちゃんと元に戻るように指定。
easingプラグインを使って、加速減速効果を追加してみる。
$(this).animate({最終形態のCSS},実行スピード,easing名);
※easing名を第3引数に追加。
easingプラグイン効果一覧
詳しくはサンプルのソースを見て!
あとは工夫次第でいろいろなんとでもできる。
という投げやりなエントリですまぬ。
いつまでつづくこのシリーズ..
jQueryで動的にCSSを割り当てられるのでやってみた。
サンプル→
サンプルのソースはこんなふう
<script type="text/javascript"> $(function(){ //初期状態 $(".camcam").css({ backgroundColor:"red", width:"200px", fontSize:"20px" }); //ロールオーバー $(".camcam").mouseover(function() { $(this).css({backgroundColor:"#00ff00"}); }); //ロールアウト $(".camcam").mouseout(function() { $(this).css({backgroundColor:"red"}); }); }); </script>
CSSだと、background-color:#00ff00; と書くところ、
backgroundColor:”#00ff00″
と、ハイフンを取って次の字を大文字にすることと
値はダブルクオーテーションで囲むという違いがある。
カンマ区切りでいくつでも割り当てられる。
このサンプル程度だとCSSで完結出来てしまうけど、
a:hoverではない、リンクテキスト以外にも使えたり
画像のサイズを変えたり、アイデア次第でいろいろできそうだ。
じゃあどんなのができるか次回あたりで。
←その2
jQueryには、いろんなエフェクトが用意されてるので
とやかく考えないでビシバシ使ってみる。
まずはサンプル。
【フェード】←マウスをあわせてみて

ソースはこんな風
適当に画像とテキストを用意してそれぞれidを割り当てる <p id="fade">【フェード】←マウスをあわせてみて</p> <img src="1.png" id="photo" />
Javascriptはこんな風
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(function(){ //フェードアウト $("#fade").mouseover(function() { $("#photo").fadeOut("slow"); }); //フェードイン $("#fade").mouseout(function() { $("#photo").fadeIn("slow"); }); }); </script>
見ての通り、
<div id=”fade”>に
マウスが乗ったら、
画像 id=”photo”に対して、fadeOut()
もう一つは逆に、マウスが出たらfadeIn()としてます。
使ったのは、
イベント: mouseover、mouseout
エフェクト: fadeOut と fadeIn
エフェクトも色々あるので
エフェクト部分を好きなの選んで使ってみると面白いかも
なんか説明がおおざっぱだけど、ニュアンスでご理解いただきたい(汗
つづく…
今日みたいな爽やかな春の日は、jQueryリファレンスを読みながら
ふっと物思いにふけりたくなりますよね。
(ならねーよ!と言う心のツッコミありがとうございます)
そんなわけでjQueryの非同期通信について書いてみたい。
核心に入る前にまずはjQueryの基本的な解説でもしてみよう。
jQueryはスタイルシートっぽいのだ。
jQueryでのHTMLエレメントの参照はこんなふう。
<div id="camcam">CamCam</div> だと $("#camcam") <div class="camcam">CamCam</div> だと $(".camcam") HTMLタグの参照は <form></form> だと $("form")
な感じで、idの場合は#、classの場合は . のように、
スタイルシートの呼び出し方と同じなのです。
<div id="camcam">CamCam</div> が、クリックされた時アラートを出せ!と言う場合は $("#camcam").click(function() { alert("くりっくすんじゃねぇ〜"); } という風になります。
長くなりそうなので今日はここまで。
(もう終わりかよ!と言う心のツッコミありがとうございます)
PHPで、HTMLソースから
特定の範囲を抜き出して処理するなんてことが結構あります。(ないか…
tableのセルを抜き出してCSV形式に直すみたいな例
$table=<<<__HTML
<table>
<tr><td>あああ</td><td>いいい</td></tr>
<tr><td>ううう</td><td>えええ</td></tr>
</table>
__HTML;
//1行ごとに抜き出して配列$matchに代入
preg_match_all("/<tr>(.*?)<</tr>/",$table,$match);
//1行ごとにループ処理
foreach ( $match[1] as $tr_value ){
//さらに<td>ごとに抜き出す
preg_match_all("/<td>(.*?)<</td>/",$tr_value,$td_data);
//セルごとにカンマ区切りで文字列に
$sellData= join(",",$td_data[1]);
print $sellData."<n";
}
結果
あああ,いいい
ううう,えええ
元ソースの書き方によっては正規表現の部分を変えて下さい。
覚え書きブログになりつつある今日この頃…

