我有4个div。默认情况下,第一个是“解包”/“打开”(height
是600px
)。以下其他人有height 40px
。
div:nth-child(1) {background-color:#cacaca;height:600px}
div:nth-child(2) {background-color:#e5ac30;height:40px}
div:nth-child(3) {background-color:#414042;height:40px}
div:nth-child(4) {background-color:#eaeaea;height:40px}
如何在滚动时(例如在滚动height
之后)“展开”(即将其600px
设置为div
)第二个260px
,然后打开第三个一个(滚动500px
时)等等?滚动时div的高度应该会轻微增加,并带有动画(不只是height:40px->height:600px
)。
这是一个简单的JSFiddle,包含4个div,只有第一个“unwrapped”。
答案 0 :(得分:0)
收听window.scroll()
并使用JQuery animate
扩展您的div
或CSS transitions
和jquery addclass
以扩展您的div
<强>的jsfiddle 强> http://jsfiddle.net/65s11L11/2/
<强> HTML 强>
<div></div>
<div></div>
<div></div>
<div></div>
<强> CSS 强>
div {
height: 40px;
-webkit-transition: height 2s; /* Safari */
transition: height 2s;
}
div.expanded {
height:600px;
}
div:nth-child(1) {background-color:#cacaca;}
div:nth-child(2) {background-color:#e5ac30;}
div:nth-child(3) {background-color:#414042;}
div:nth-child(4) {background-color:#eaeaea;}
<强> JQuery的强>
$($('div').get(0)).addClass('expanded');
$(window).on('scroll', function(e) {
var x = $(window).scrollTop();
if(x > 125) {
$($('div').get(1)).addClass('expanded');
}
});