我需要一些帮助,我会感激任何建议。考虑一个position:relative
div
,其中包含三个position:absolute
个div,其中包含类page
。重点是打开页面,其转换类似于jQ中的反转slideUp- slideDown。
问题是:转换是水平捕捉,这不好。另外#mainContainer
如何垂直居中?
您可以在http://jsfiddle.net/4zaWz/
中看到问题的演示以下是代码:
function setMenu(menuItem) {
var $activePage = $('.active-page');
if ($activePage.length > 0) {
$activePage.animate({ top: 584 }, 500, function () {
$activePage.removeClass('active-page');
});
}
var $menuCur = $("#" + menuItem);
$menuCur.animate({ top: 0 }, 500, function () {
$menuCur.addClass('active-page');
});
}
#mainContainer
{
position: relative;
height: 565px;
width: 990px;
margin: auto;
background: url(../img/logo.jpg) no-repeat 50% 50px;
overflow:hidden;
}
.page
{
position: absolute;
margin-left: auto;
margin-right: auto;
left: 4px;
height: 584px;
width: 864px;
top:584px;
background: url(../img/pageBg.png) no-repeat 0 0;
}
.active-page
{
top:0px;
position: relative;
z-index: 30;
}
答案 0 :(得分:2)
当jQuery中的项目设置动画时,它们设置为一个位置:绝对。因此,在这种情况下,它会破坏您的动画,因为它会破坏您将CSS页面从FROM绝对更改为相对的CSS。如果你只是删除.active页面上的亲戚,你会没事的。您需要找出一种方法来保持“活动”,而只需要将正常页面设置为相同的“位置”。我会继续玩它。
现在,要以绝对位置为中心,只需:
(取窗口和元素的宽度,将它们除以2 [half]然后减去它们)
答案 1 :(得分:0)