javascript - 即使在制作动画时也始终将栏粘贴到页脚

标签 javascript jquery html css

最近在这里,我提出了一个问题,即始终将 bar 元素粘贴到容器的左下角。仅使用 css 似乎是不可能的。所以,我最终使用了 javascript。这是 Working Fiddle

给出上一个问题的亮点:

  • 将 bar 元素粘贴到容器的左下角
  • 栏应该在左下角,即使容器是垂直或水平滚动的。
  • 如果存在水平滚动条,则该条应位于水平滚动条上方。

上面的 fiddle 工作正常并且遵守上述所有情况,即使在调整窗口大小时也是如此。

现在,我遇到了同样的情况,但容器的大小会因为动画按钮的点击而不是窗口的大小调整而调整。

因为我正在制作一秒钟的动画,所以我在单击动画按钮时调用窗口调整大小函数中存在的相同代码。但这样做在某种程度上违反了上述规则/要求。

这是 Fiddle . (不工作)

请帮忙。

PS:这是previous question的链接. (如果有人想要简要了解)

最佳答案

再次,我解决了它。我让事情变得复杂了。在只需要 bottom 属性的地方,我使用了 top 并重置了它。代码中有很多不必要的操作。

这是代码,运行良好。

$(function () {
    $('.content').width($('body').width() - 50);
});

var stickToBottom = function (parent) {
    var bar = parent.querySelector('.bar');
    var top = bar.offsetTop;
    parent.addEventListener('scroll', function (e) {
        var el = e.currentTarget;
        bar.style.bottom = -el.scrollTop + "px";
        bar.style.left = el.scrollLeft + "px";
    });
}
var parent = document.querySelector('.parent');
stickToBottom(parent);

$('.clickme').click(function () {
    $(this).toggleClass('active');
});

感谢 rlemon 在 javascript chat room 中提出想法.

Working Fiddle

关于javascript - 即使在制作动画时也始终将栏粘贴到页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31318039/

相关文章:

javascript - 如何从内部函数返回值到外部函数

javascript - meteor react 订阅

javascript - 从 $.when .done 之外的 ajax 添加对象

javascript - 如何在不重定向的情况下提交多 HTML 表单

javascript - 查看页面时根据用户权限删除或隐藏 html 链接

php - 在 html 中使用 "php if"更改 <td> 颜色背景

javascript - 在屏幕上显示我的 console.log

javascript - 如何在 Cocoa/WebKit 应用程序中从 Javascript 调用 Objective-C 方法?

jquery - 从右向左滑动切换 DIV

javascript - YouTube 用户提要从 JSON 解析