社員ブログ
HOME  社員ブログ

アーカイブ

‘契約社員:X’ カテゴリ

jQueryによるカルーセルパネルのバグ修正方法

2011年06月8日 18時01分33秒

真面目な記事なので煽りの文句は入れません。

どうも、見習いAです。


jQueryによる、カルーセルパネルを作る際のソースのバグ修正方法を記述したいと思います。

参考サイト:こちらを参照してください。

jQueryを入れて、上記のサイトを参考にすることで、カルーセルパネル(スライドショー?)

が作成できます。


しかし注意点が一点。

画象の数が、1ページに満たない場合、画像が消えてしまうという不具合を抱えています。

これは、現在表示しているものの後ろに、ULタグの最後のものをセットしているため、

ULタグが1つしかない(1ページ以下)の時に不具合が起きてしまうのです。


そこでULタグが1つしかないときは、その処理をさせなければうまく表示されます。

ソースは以下を参照。


$(function(){
$(“#carouselInner”).css(“width”,730*$(“#carouselInner ul.column”).size()+”px”);
if ($(“#carouselInner ul.column”).size() > 1) { // ←これを追加
$(“#carouselInner ul.column:last”).prependTo(“#carouselInner”);
$(“#carouselInner”).css(“margin-left”,”-730px”)
$(“#carouselPrev”).click(function(){
$(“#carouselNext,#carouselPrev”).hide();
$(“#carouselInner”).animate({
marginLeft : parseInt($(“#carouselInner”).css(“margin-left”))+730+”px”},”slow”,”swing” ,
function(){
$(“#carouselInner”).css(“margin-left”,”-730px”)
$(“#carouselInner ul.column:last”).prependTo(“#carouselInner”);
$(“#carouselNext,#carouselPrev”).show();
})
})
$(“#carouselNext”).click(function(){
$(“#carouselNext,#carouselPrev”).hide();
$(“#carouselInner”).animate({
marginLeft : parseInt($(“#carouselInner”).css(“margin-left”))-730+”px”
},”slow”,”swing” ,
function(){
$(“#carouselInner”).css(“margin-left”,”-730px”)
$(“#carouselInner ul.column:first”).appendTo(“#carouselInner”);
$(“#carouselNext,#carouselPrev”).show();
})
})
} // ←これを追加
})
上記のソースに変更することで、1ページでも問題なく表示されるようになります。
ちなみに、1ページ以下の時は、次や前へのボタンも無効化してあります。
カルーセルパネル(スライドショー?)をつくられる方は参考にしてみてください。
ではまた。

JavaScript, 契約社員:X

PHPとUTF8と半角スペースの問題

2011年06月7日 15時48分07秒

今回は真面目な記事なので、煽りの文句は入れません。

どうも、見習いAです。


今回は、PHPでUTF8のエンコードを使用している際に、

テキストボックスに半角スペースが連続で入れられた際の挙動について記事にします。


まずHTMLの仕様のお話をさせていただくと、HTMLでは普通の半角スペースを連続で書くと、

半角スペース1つに省略されてしまいます。

レイアウトなどで半角スペースを入れたい場合は、「 」と書くことになっています。

ただ、ここでUTF8のフォームの動作では、連続して半角スペースが入力された場合は、

2つ目以降の連続している半角スペースを、

普通の半角スペース(0x20)から特殊な半角スペース(0xc2 0xa0)に変換してくれます。

これによって、フォームの内容をHTMLに吐き出したい時に、

半角スペース1つに省略されることを防いでくれるのです。


通常ならこの動作でレイアウトの観点からも問題ありません。

ここで問題になるのは、UTF8をSJISに変換する時です。

SJISには特殊な半角スペースに相当する文字がないため、

この挙動だと特殊な半角スペースが文字化けしてしまいます。

この現象は、エクセルに対応したCSVを吐き出すときとかに問題になります。


さて、この問題の解決策ですが、抜本的な対策というのは特にないようです。

調べていてよく目にしたのが、2文字目以降の半角スペースを消してしまうというものです。

ちなみに私がこの問題にあたった際に取られた対策では、

2文字以上の半角スペースを入力する際は、

全角スペースを使用するという運用面での対処でした。


みなさんならこの問題をどう対処するでしょうか?

アイデアのある方がいらっしゃったら、コメントをいただけると幸いです。


ではまた。



PHP, 契約社員:X

わかれうた

2011年06月6日 15時59分20秒

道に倒れて誰かの名を、呼びつづけたことはありますか?

そんな経験している人いるのでしょうか?どうも、見習いAです。


冒頭の歌詞は、中島みゆきの「わかれうた」という曲の一節です。

中島みゆきは歌詞が若干ネガティブですが、いい歌詞が多いので好きなアーティストです。

ただ、よく良く考えて聴いていると、誇張表現がおおいいんですよね~。

ドラマティックな歌詞にするためには、誇張表現はつきものだと思うのですが、

もっと万人が経験したことのあるような歌詞を書くアーティストっていないんでしょうか?

そういう歌詞なら実感を持って聞くことができるとおもうんですが。。。


ということで、そういうアーティストをご存じの方がいらっしゃったら、コメントで教えていただけると幸いです。

ではまた。


契約社員:X, 雑記, 音楽