javascript - jQuery:滚动时展开 div

标签 javascript jquery css

我有 4 个 div。默认情况下,第一个是“展开”/“打开”(它的 height600px )。下面其他人有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,只有第一个“展开”。

最佳答案

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');
    }
});

关于javascript - jQuery:滚动时展开 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30513672/

相关文章:

javascript - 根据 HTML 中的类显示/隐藏行

javascript - JSF 表单 - 提交 > 关注选定的输入

javascript - 表单提交在控制台中显示奇怪的错误

javascript - Array.map 未在 React Native 中呈现

javascript - JQuery关于mouseup事件的问题

javascript - 如何防止 JQuery 方法 .html() 改变大小写?

javascript - 使用 jquery 添加的按钮上的 ng-click() 不起作用

html - 为什么我的 div 不显示内联?

javascript - 将图像文件保存在本地主机上

html - 根据给定值更改形状的长度