これらの水平メニューのように、マウスのポインターが背景位置の上にスクロールダウンし、メニューボタン領域の外にあるときにバックグラウンド位置が上にスクロールするときに、メニューボタンに垂直スクロール効果を追加したい: http://www.htmldrive.net/items /demo/180/jQuery-Flip-Menu-using-backgroundPosition-Plugin
私のコード:
CSS
#home{
width: 46px;
height:12px;
background-image: url(http://imageshack.us/a/img577/5152/w6n.gif);
background-position: 0 0;
background-repeat: no-repeat;
}
html
<div id="home"></div>
Javascript
$.fn.animateBG = function(x, y, speed) {
var pos = this.css('background-position').split(' ');
this.x = pos[0] || 0,
this.y = pos[1] || 0;
$.Animation( this, {
x: x,
y: y
}, {
duration: speed
}).progress(function(e) {
this.css('background-position', e.tweens[0].now+'px '+e.tweens[1].now+'px');
});
return this;
}
$.fn.stopBG = function(x, y, speed) {
var pos = this.css('background-position').split(' ');
this.x = pos[0] || 0,
this.y = pos[1] || 0;
$.Animation( this, {
x: x,
y: y
}, {
duration: speed
}).progress(function(e) {
this.css('background-position', e.tweens[0].now+'px '+e.tweens[1].now+'px');
});
return this;
}
$('#home').hover(function(){
$("#home").animateBG(0, -12, 300);
},function(){$("#home").stopBG(0, 0, 300);});
問題は、マウスのポインターがメニュー ボタン領域の外に出たときに、上にスクロールする効果が機能しないことです。
ありがとう。