カテゴリー︎: 【JavaScript】・【jQuery】
jQueryでロールオーバーするメモ
cssでロールオーバーするのは非常に簡単だけど
あえて、jQuery勉強のため、コメントを記述
<body> <style> img { width: 20%; } </style> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <h1>webデザイナーのjQuery【ロールオーバー】</h1> <button id="btn">マウスオーバーbtnテスト</button> <script> var btn = $('#btn'); btn.hover(function(){ }); </script> <ul> <li><a href="#" class="rollover"><img src="img_off.png"></a></li> <!-- <li><a href="#" class="rollover"><img src="img_on.png"></a></li> --> </ul> <script> $(function(){ $('.rollover').each(function(){ //eachの中では、「this」にそれぞれの要素が入っている //イベントハンドラの中の「this」にはイベントが発生した要素が格納される //「this」を使う理由は、全部にIDを振ってひとつひとつに処理をかななければならないので「this」を使用 var a = $(this);//aという変数をjQueryオブジェクト化する //console.log(a); var img = a.find('img');//img要素を探して変数imgに格納する console.log('attrで変更前⇒'+img); //attr()は、要素の属性値を変更するメソッドjQueryObject.attr('属性名','変更後の値'); var src_off = img.attr('src');//ページに配置されているimg要素を取得してsrc属性に変更 console.log('attrで変更後⇒'+src_off);//img_off.pngを取得して変数src_offに格納する var src_on = src_off.replace('_off','_on');//javascriptの機能で_offを_onに置換する(ロールオーバー時のパスを作る); console.log(src_on);//img_on.pngに変更してある $('<img />').attr('src', src_on);//このコードは、ロールオーバー状態の画像パスを指定(ちらつき防止のため) a.hover(function(){ img.attr('src', src_on);//a要素にマウスがのったら、画像のsrc属性を「ロールオーバー時」のものに変更する },function(){ img.attr('src', src_off);//a要素からマウスがおりたら、画像のsrc属性を「通常時」のものに変更する }); }); }); </script> </body>