2012年10月18日カテゴリー:未分類

EC-CUBE2.12:ロゴにjQueryロールオーバーを適用する

サンプルはこちら

1 ロールオーバーの仕組み

(1)EC-CUBEで使用されているロールオーバーを、ロゴに適用しようとすると次のようになる。
画像ごとに下記の記述を行うのはとても面倒。

[php]

(2)jQueryロールオーバーを利用すると、下記のような簡単なコードになる。
というか、

タグの属性に、class=”j_roll”を追加しているだけ。

[php]
(3)上記コードには記述されていないが、logo_on.gifという画像を新たに作り、logo.gifと同じフォルダ(common)に置くことが必要。

(4)「_on」が付いている画像が初期表示されている場合はロールオーバーは無視される。

(5)画像はプリロードされるので、ロールオーバーの反応がはやい。

2 ロゴにロールオーバーを適用する。

(1)■html/js/jquery.rollover/rollover.jsを作成する。

[php]
// ロールオーバー
jQuery(function($) {
var postfix = ‘_on’;
$(‘.j_roll a img’).not(‘[src*=”‘+ postfix +’.”]’).each(function() {
var img = $(this);
var src = img.attr(‘src’);
var src_on = src.substr(0, src.lastIndexOf(‘.’))
+ postfix
+ src.substring(src.lastIndexOf(‘.’));
$(‘‘).attr(‘src’, src_on);
img.hover(function() {
img.attr(‘src’, src_on);
}, function() {
img.attr(‘src’, src);
});
});
});
[/php]

(2)■data/Smarty/templates/default/site_frame.tplに追加する。

[php]


[/php]

(3)■img/common/logo_on.gifを作成する。

(4)■data/Smarty/templates/default/header.tpl

タグの属性に、class=”j_roll”を追加する。

[php]
[/php]