以前にポストしたブログ記事「jQueryを使ったPDFアイコン付加プラグイン」ですが、今回はPDFファイルだけでなく、Word,EXCEL,ZIPに対応させたものを作ってみました。
今回も折り返した時にIE6/IE7でアイコンの表示がずれるバグに対応させるためspanタグを挿入し、after, beforeのパラメーターを変更することによって前後にアイコンを付加させます。
簡単にコード解説をします。
以前にポストしたブログ記事「jQueryを使ったPDFアイコン付加プラグイン」ですが、今回はPDFファイルだけでなく、Word,EXCEL,ZIPに対応させたものを作ってみました。
今回も折り返した時にIE6/IE7でアイコンの表示がずれるバグに対応させるためspanタグを挿入し、after, beforeのパラメーターを変更することによって前後にアイコンを付加させます。
簡単にコード解説をします。
ThickBoxはLightBox系のjQueryプラグインとしては最も良く使われる部類に入るのではないでしょうか?
ThickBoxは画像だけでなくHTMLも読み込めてとても便利なのです。ただ、デフォルトでは右上のcloseと書かれたテキストをクリックするか、暗転している部分をクリックしないと元の画面に戻りません。リテラシーの低い人は一瞬どこをクリックして閉じるのか分からない事もあるかもしれません。そこでHTML側にウィンドウを閉じるボタンを付けてみることにします。
通常ThickBoxはtb_remove()と言うメソッドを呼び出してウィンドウを閉じます。ただ読み込まれたHTMLファイルの閉じるボタンのclickイベントにtb_remove()を設定したとしてもイベントは実行されません。これは読み込む側と読み込まれる側に親子の関係があるからです。
これもいつも忘れるのでメモ
$('#hoge').css({'display' : 'block', 'margin-bottom' : '0.5em'});
プロパティと値は:(コロン)で区切り、プロパティとプロパティは,(カンマ)で区切る。プロパティ同士は{}(ブレス)で囲む。
いつも忘れるので自分用にメモ
$('p').prepend('<strong>追加テキスト</strong>');$('p').append('<strong>追加テキスト</strong>');$('p').before('<h1>追加テキスト</h1>');$('h1').prepend('<p>追加テキスト</p>');$('div#article').prependTo('div.section');$('div#article').prependTo('div.section');$('h1').insertBefore('p');$('p#intro').insertAfter('h1');$('span').wrap('<p></p>');$('p').wrapAll('div.section');$('p').wrapInner('<span></span>');先日、Webデザイナーの集会で嘘くさい?jQueryの基礎みたいなお話をしたのですが、その時にこのような質問が出ました。
複数のセレクトボックスを配置した時、選ばれた要素のテキストをまとめて表示する事って出来ないんですか?
そんな訳でちょっと書いてみたのですが、こんな動作で宜しいのでしょうか?
Windows IE6/7はフォントをpx(ピクセル)指定すると文字のサイズが拡大出来ません。そのため今まではIEでフォントサイズを拡大出来るようにするため次のようにハックを使っていました。
body { font-size: 100%; }
* html body { font-size: 82%; } /* for win ie6 */
*:first-child+html { font-size: 82%; } /* for win ie 7 */
html>/**/body { font-size: 13px; } /* for modern browser */
ところがWIndows IE8がリリースされ、このブラウザも当然のごとくピクセル指定のフォントで文字サイズが変更出来ません。IE7からはページズーム機能が備わっているし、Firefoxも3からはデフォルトではレイアウトごとズームするのでもうフォントの固定をしても良いのでは?と思ったりもします。
JavaScriptが無効の環境ではフォントが固定されてしまいますが、jQueryを使ってブラウザ分岐をすると言うのも一つの手かもしれません。
これまでにいくつか透過pngに関するエントリーを書いてきましたが、これは!と思ったのがDD_belatedPNG。background-positionやbackground-repeatにも対応で読み込むJSファイルが1つなのでとっても使いやすい。
IE PNG FixのAlpha版もbackground-repeatに対応しているけれど、リピート用のJSの他にblank.gifや.htcファイルを読み込んだりする必要があるので少々面倒。
DD_belatedPNGの使い方は非常にシンプルで、headタグでJSファイルを読み込んで透過pngを使用したCSSセレクタを指定するだけでオーケーです。
<!--[if lte IE 6]>
<script type="text/javascript" src="<$mt:BlogURL$>theme/js/DD_belatedPNG_0.0.7a-min.js"></script>
<script type="text/javascript">
DD_belatedPNG.fix('.iepngfix, div#pngFix');
</script>
<![endif]-->
セレクタはカンマ区切りで複数指定出来ます。
今回のブログデザインを変更するにあたりこのJSファイルを使わせていただきました。このブログではjQueryを使ってるので、次のようなコードを書いて透過pngを使った画像にIE6以下のブラウザの場合.iepngfixが自動的に適用されるようにしています。
$(function()
{
if ($.browser.msie && $.browser.version < 7.0)
{
$("img[@src$=png]").addClass("iepngfix");
}
}