ITOBEN STYLE > EC-CUBE2.12:ロゴにjQueryロールオーバーを適用する 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]
サンプルはこちら
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]