我正在尝试为背景图像设置动画以向下移动一定数量的像素,但仍保留在页面的中心。在再次单击一个元素时,我需要它移回顶部,但仍保持在中心。以下是当前代码:
$(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");
});
});
我不能通过“中心”,因为它只会接受数值。我的目标是以像素为单位计算页面的中心(宽度 = (width / 2) - 700;),然后动画到这个粗略的位置(由于滚动条,它通常会超出几个像素,然后强制到中心使用 .css() 调用。
问题是IE不想玩球。IE 根本不会动画。Firefox/Safari/Chrome 都按预期工作。
下面是一个实时示例: http ://recklessnewmedia.com/new/# (点击顶部的“电子邮件广告系列”)。
谢谢