背景画像をアニメーション化して、設定されたピクセル数だけ下に移動しようとしていますが、ページの中央に留まります。要素をもう一度クリックすると、一番上に戻る必要がありますが、それでも中央に残ります。以下は現在のコードです。
$(document).ready(function() {
$('#email_campaigns').click(function(){
var width = $(window).width();
width = (width / 2) - 700;
if($('#email_campaigns_box').css('display') == 'none'){
//$('body').css('background-position','center 119px');
$('body').animate({
backgroundPosition: (width + "px 119px")
}, {duration:500});
} else {
//$('body').css('background-position','center top');
$('body').animate({
backgroundPosition: (width + "px 0px")
}, {duration:500});
}
$('#email_campaigns_box').slideToggle("slow");
$('#client_login_box').slideUp("slow");
});
$('#client_login').click(function(){
var width = $(window).width();
width = (width / 2) - 700;
alert(width);
if($('#client_login_box').css('display') == 'none'){
//$('body').css('background-position','center 119px');
$('body').animate({
backgroundPosition: (width + "px 119px")
}, {duration:500});
} else {
//$('body').css('background-position','center top');
$('body').animate({
backgroundPosition: (width + "px 0px")
}, {duration:500});
}
$('#client_login_box').slideToggle("slow");
$('#email_campaigns_box').slideUp("slow");
});
});
数値のみを受け入れるため、「center」を渡すことはできません。私の目標は、ページの中心をピクセル (幅 = (幅 / 2) - 700;) で計算し、この大まかな位置にアニメーション化することです (通常、スクロールバーのために数ピクセルずれてから、中心に移動します)。 .css() 呼び出しを使用します。
問題は、IE がボールをプレーしたくないということです。IE はまったくアニメーションしません。Firefox/Safari/Chrome はすべて期待どおりに動作します。
以下は実際の例です: http://recklessnewmedia.com/new/# (上部の「メール キャンペーン」をクリックします)。
ありがとう