0

我正在用 JQuery 制作一个非常基本的动画。基本上我所拥有的是一个宽度为 60%、高度为 80% 的 DIV,它包含一本手册。我的目标是,当您浏览手册中的页面时,当前页面向上移动并消失,而下一页从底部出现。

我已经足够接近了,但是出了点问题,我不知道如何修复它 - 页面 DIV 在其容器外可见。他们的 top 属性设置为 110% 但我可以看到它没有生效。它们的位置仅受其上方的菜单表影响。

所以我的问题,真的是 -我如何让一个 DIV 在它的容器之外不可见,但不改变整个 DIV 的可见性或显示,所以在向上移动时会看到文本 - 但只有放在容器上的文本和不在它之外。

    .manualPage {
    color:rgba(241, 241, 241,1.0);
    top:110%;
    text-align:left;
    left:0%;
    cursor:default;
    z-index:30;
    font-family: "Open Sans", sans-serif;
    font-size:11pt;
    width:100%;
    height:100%;
}

.BigWindow {
    position:absolute;
    width:60%;
    height:80%;
    top:10%;
    display:inline-block;

    left:-70%;

    background-repeat:repeat;

    color:rgba(241, 241, 241,1.0);

    font-family: "Open Sans", sans-serif;
    font-size:12pt;

    text-align:center;

    cursor:default;

    z-index:30;
}

注意 BigWindow 是容器,manualPage 是页面。

这是功能,但我认为CSS问题是首先要解决的问题:

var currentPage = -1;

function setManualPage(num) {
    if ($('#manualMenu').css('display') != 'none')
        $('#manualMenu').fadeOut(750);
    if (currentPage != -1) {
        $('#page' + currentPage).animate({ top: '-100%' }, screen.availHeight / 2, function () { $('#page' + currentPage).css('top', '110%'); });
    }

    if (num != -1)
        $('#page' + num).animate({ top: '0%' }, screen.availHeight / 2);
    currentPage = num;
}
4

2 回答 2

8

基本上这是通过添加 CSS 来完成的

overflow: hidden;

到封闭的容器,但没有看到这里的代码,很难获得帮助。

于 2013-06-08T12:33:03.543 回答
3

尝试

 .manualPage{opacity:0}

或者

.manualPAge{visibility:hidden}

这样,所有具有手册页类的年龄(#page1#page2)都将不可见。

在动画期间,当您设置top属性时,将 设置opacity1ORvisibilityvisible

另一种方法是设置overflow包含窗口的属性:

          .BigWindow{overflow:hidden} 

这样,任何超过高度的内容.BigWindow都不会显示

于 2013-06-08T12:40:14.607 回答