メインのdivの背景である画像スプライトがあり、その中には12個のリンクがあります。リンクがホバーされたときに各リンクのCSSファイルにbackground-positionの値を書き込む代わりに、jQueryでそれを実行して、background-position yが550px増加するようにします(x位置は同じままです)。
マークアップ:
<div class="compass">
<a class="facebook" href="#"> </a>
<a class="twitter" href="#"> </a>
<a class="youtube" href="#"> </a>
</div>
CSS:
.compass {
background-image: url('../images/compass.png');
background-position: top;
height: 550px;
position: relative;
width: 567px;
margin: 0 auto;
}
.compass a{
background-image: url('../images/compass.png');
background-position: top;
display: block;
position: absolute;
}
a.facebook {
height: 51px;
width: 26px;
left: 151px;
top: 190px;
}
したがって、アイデアは、背景画像のx位置とy位置を示す各リンクのCSSルールスタイルを作成することです。次に、ホバーすると、y位置が550px増加します。マウスアウトすると、元のホットに戻ります(550pxの減少)。
jQuery構文を開始しましたが、理解できません。
var originalPosition = obj.css('background-position');
$(".compass a").hover(
function(){
$(this).css('backgroundPosition', originalPosition + 550 + "px")
},
function(){
$(this).css('backgroundPosition', "");
}
)
どうもありがとうございました!