2016-08-17 114 views
0

我是jquery的初学者。当我点击一个按钮时,我想做一个简单的淡入淡出,但从屏幕上方,例如,减去最高值。但是我得到的仅仅是在页面中滑动,而不是从上面滑动。并且它只在我加载html时有效。之后,不透明度是唯一的工作。这里的示例代码:从减去顶部值的幻灯片

#Page { 
    opacity: 0; 
    width:70%; 
    min-height: 300px; 
    background:white; 
    text-align: center; 
    border-radius: 20px; 
    position:relative; 
    padding:20px; 
    margin:0 auto; 
} 

document.ready(),当我加载HTML

$("#Page").position().top=$("#Page").outerHeight()*-1; 
$("#Page").animate({top:$(".row").outerHeight(),opacity:'1'},1500); 

.click功能

$("#Page").css('opacity','0'); 
$("#Page").position().top=$("#Page").outerHeight()*-1; 
$("#Page").animate({top:$(".row").outerHeight(),opacity:'1'},1500); 

似乎只有在document.ready我fadeindown作品。任何人都知道原因?

注:我尝试它只是在我的浏览器,不收留了它,甚至没有在本地主机

回答

0

只需使用CSS:

#Page { 
    position: relative; 
    top: 0; 
    opacity: 1; 
    transition: all 0.3s ease-in; 
    -webkit-transition: all 0.3s ease-in; 
} 

.hidden-element { 
    position: relative; 
    top: -100px; 
    opacity: 0; 
    transition: all 0.3s ease-out; 
    -webkit-transition: all 0.3s ease-out; 
} 

然后jQuery来隐藏元素:

$("#Page").addClass('hidden-element'); 

并显示:

$("#Page").removeClass('hidden-element'); 
+0

是否有任何二如果我使用不透明度为1的新类,并且#Page从不透明度0开始?在使用.animate之前我已经尝试过。有什么区别吗? – aaron

+0

当然,您可以根据需要交换状态,并使#Page opacity:0,top:-100px,并创建具有不透明度的类:1,top:0.这取决于您默认需要的状态。 – Ivan

+0

谢谢,现在有效:D – aaron