2011-11-29

テーブルの項目をソートさせるjQueryプラグイン、Table sorterを使おうと思ったのですが、
数値のソートには少しコツがいるようです。

(続きを読む…)

2011-10-20

ナビゲーションメニューをロールオーバーしたときに、
背景色をjQueryでふわっと変える方法です。

ポイントはjQueryのanimate関数でstopを使うこと。
これを使用しないと、マウスポインタを何度もメニュー上で動かしたときに
それがすべて実行され、チラチラして気持ち悪いだけでなく、
マウスポインタを外してもすべて完了するまで動いてしまいます。

(続きを読む…)

2011-08-30

window.openを使ってポップアップウィンドウを使用していたサイトで、
scrollbarsの指定をしていない場合、デフォルトではscrollbars=yesになると思っていたのですが、
実際にはChromeはスクロールバーが出ていましたが、IE、Firefoxではスクロールバーが表示されず
ページが途中で切れてしまっていました。

なので、scrollbarsなどのオプションも必ず指定するようにしましょう。

2011-08-11

PHP、Perl、Javascriptとエンコード/デコードのやり方や関数はいろいろ用意されていると思うのですが、
Shift_JISでエンコードされた文字を、JavascriptでデコードしてUTF-8のHTMLに表示しようとすると、
何をやってもうまくいきませんでした。

「Javascript デコード」で検索すると出てくるものとしては、
decodeURI、decodeURIComponent、unescapeなどが出てくるのですが、
どれを試してもやはりうまく表示されず。。

とりあえずはPHPのurldecodeとmb_convert_encodingを使うことで解決させたのですが、
Javascriptの件も気になったので、もうちょっと調べてみました。

(続きを読む…)

2011-02-22

Lightboxやfancyboxを使っていて、クリックして拡大した先に文字情報を入れる場合、
aタグのtitle属性に文字を入れます。
すると当然のことながら、マウスを画像に当てたときにその文章が表示され、
長い文章でタグを含んだりすると非常に不格好です。

その場合、画像のimgタグにもtitle属性を入れてあげると
そちらが優先して表示されます。

例)
<a href="1.jpg" title="商品名<br />価格<br />コメント" rel="lightbox[1]"><img src="1s.jpg" width="100" height="100" alt="商品1" title="商品1"></a>

2010-10-05

ちょっと今さら感はあるのですが、、
あまり新規サイトにFLASHを使う機会がなかったので、SWFObjectを使っていませんでした。

調べてみたところ、ちょっと書き方にばらつきがあるような気もしたのですが、
わかりやすかったのが下記のジェネレーター。
コードが自動生成されるのももちろんうれしいのですが、「これは何?」の解説や、
値を変えることでソースのどこが変わるのかをすぐに確認できるのがとても便利です!

ジェネレーター
http://www.tonpoo.com/docs/swfobject_generator/

こういうサイトを制作される方がいるのは本当にありがたいですね。
リンク切れにならないことを祈ります。。

自分のサイトにも基本の書き方くらいはちゃんと残したいと思います。
FLASH PlayerのバージョンチェックをするexpressInstall.swfはswfobject.jsと同じ場所に入れましょう。

headタグ内
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
//SWFに値を渡す場合の変数の指定
var flashvars = {};
//パラメータ
var params = { bgcolor: '#000000' };
//id、name属性
var attributes = { id: 'topflash', name:'topflash' };
swfobject.embedSWF("movie.swf", "FlashContentId", "900", "450",
"9.0.0", "expressInstall.swf",
flashvars, params, attributes );
</script>


BODYなどコンテンツ内
<div id="FlashContentId">
<!--Flashムービーが再生できない場合の表示内容-->
<a href="http://www.adobe.com/go/getflashplayer_jp"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" border="0" /></a>
</div>



参考サイト
http://d10.d-kids.jp/ueki/2010/04/swfobject-expressinstall.html

2010-07-30

ある仕事で、画像拡大表示のスクリプトにfancyboxを使用していたのですが、
IE6の場合、1.2.6ではCLOSEボタンなどがちゃんと表示されているのに、
1.3.1にすると表示されていないことに気付きました。

いろいろ調べてみたところ、jquery.fancybox-1.3.1.cssの中にある
IE用画像パス(DXImageTransform.Microsoft.AlphaImageLoaderの部分)は
CSSからのパスではなく、HTMLファイルからのパスでないとダメだったようです。

参考サイト
http://html-study-diary.blog.so-net.ne.jp/2010-04-25

2010-05-06

写真とテキスト両方にまたがって1つのリンクにさせる機会が多いのですが、
基本的にaタグはインライン要素であるため、これはイレギュラーなやり方になります。
これまでもブラウザの違いなど、いろいろ苦労してきたのですが、
jQueryでこれを実現できるということを知りました!!

まだ試していないので、あくまでもメモですが。
簡単な写真とテキストの場合は間違いなくうまくいくと思うのですが、
divのボックスの中でさらにいろんなCSSを入れたりする場合にどうなるのか、、
早めに試す機会が欲しいところです。

ダウンロード
http://www.ollicle.com/eg/jquery/biggerlink/

参考サイト
http://sanride.com/blog/webdesign/divhoverjquery-jquerybiggerlin.php

2010-03-30

チェックボックスやテキストボックスなどのフォームを配列でつくり、
その値をチェックするJavascriptに少してこずったのでメモです。

配列の値の取得と、配列が1つしかなかった場合の処理を入れるのが
ポイントでした。


下記はamount[]と名前をつけたテキストボックス配列の値を
1以上の数字であるかどうかチェックしています。


function Update(num) {
var ctl = document.form1.elements['amount[]'];
if(ctl == null){
return false;
}
if(ctl.length == null) { //配列が1つの場合
up_num = ctl.value;
} else {
up_num = document.form1.elements['amount[]'][num].value;
}

if (!isNaN(up_num)) {
if (up_num < 1) {
alert("数量は1以上を入力してください");
return false;
} else {
document.form1.update_no.value = num;
document.form1.submit();
}
} else {
alert("数量は半角の数値で入力してください");
return false;
}
}

2010-02-12

可変のブロック要素の高さを揃えるheightLine.jsが、IE6で効かないときがあります。
それは該当ブロック要素にてpaddingを使用しているとき。
marginなどを使って変更すると無事直りました。