JavaScript

ガイド:高橋 登史朗

Ajaxなど、何かと最近騒がれているJavaScriptの最新情報とその活用方法を解説します。

掲示板 取材依頼 問合せ

Ajaxを使おう

掲載日: 2008年 03月 27日

jQuery でドロップシャドウ


jQuery でドロップシャドウ




ドロップシャドウといえば、画像ソフトなどでは定番のエフェクトのひとつですが、それをJavaScriptで行うというプラグインを紹介します。

あらかじめ画像などで用意できないケースで、たとえば動的に生成する文字やボックスへドロップシャドウをつけたいというニーズには有用なプラグインといえます。

ドロップシャドウサンプル画像


Drop Shadow

Drop Shadowを使うためには、jquey.jsの他に上記のサイトでサイトでjquery.dropshadow.jsとjquery.dimensions.jsを入手します。

まず、その設置方法から見てみます。
<script type="text/javascript" 
        src="./jquery.min.js">
<script type="text/javascript" 
        src="./jquery.dimensions.js">
<script type="text/javascript" 
        src="./jquery.dropshadow.js">
これで、必要なライブラリを読み込み完了し準備が整います。

では、とりあえず簡単なサンプルを作ってみましょう。 下ボタンをクリックしてみてください。

JavaScript

ソースは次の通り。
<script src="./jquery-1.2.3.min.js" 
        type="text/javascript"></script>
<script src="./jquery.dimensions.js" 
        type="text/javascript"></script>
<script src="./jquery.dropshadow.js" 
        type="text/javascript"></script>

<style type="text/css">
.myShadow1 {
  font:900 50px Arial;
  color:orange;
}
</style>

<input type="button" 
       onclick="$('.myShadow1').dropShadow()" 
       value="shadow!">
<input type="button" 
       onclick="$('.myShadow1').removeShadow()" 
       value="remove">

<div style="position:relative">
  <div class=""myShadow1">JavaScript</div>
</div>
このサンプルでは、myShadow1クラス要素内の文字列「JavaScript」へ影を付けます。

$('.myShadow1').dropShadow()と書くと、 セレクタ'.myShadow1'で検索した要素へドロップシャドウを適用します。

removeShadow()は名前の通り影を削除します。

デフォルトの.dropShadow()メソッドは、color:blackでopacity:0.5の影を、ぼけ具合2でleft:4px,top:4pxの位置につけます。

なお、このサンプルで'.myShadow1'の要素を、position:relativeを指定したdiv要素の中に置いているのは、筆者の環境のIE6でスクロールした時に影の位置がずれるという症状が出たので、正確な場所に追尾させるためです。Drop Shadowは現在位置を取得するのにjquery.dimensions.jsのposition()メソッドを利用しているのですが、これは親要素との位置関係を検出するものなので、正確な位置を把握しやすいように、明示的に親要素で囲んでみたというわけです。もちろん、他にもいくつかの対処方法があり、これでなければいけないというわけではありません。

では、オプションを指定する方法を次ページで試してみましょう。

ガイドメールマガジン
携帯電話のメールアドレスでは登録できません

掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます。