jquery - 防止固定元素在调整大小时向上移动超过特定高度

标签 jquery css resize element fixed

我在页面的底部和右侧放置了一些图标。调整窗口大小时,我希望图标消失,否则它们会与上面的内容冲突。我已经设法解决了使用最小宽度从左到右调整大小时的问题,但似乎无法使用最小高度找到解决方案。

JQuery 和 CSS 都受到欢迎。 图标被赋予一个类(.icon)并嵌套在一个部分(#footer)中。 这是我所拥有的;

CSS

#footer .icons{
position: fixed;
bottom:10px;
left:0;
width:98%;
min-width:1350px;

.icons{
display:inline-block;
text-align:right;
    z-index:-9999;
float:right;
right:10px;
padding:2px;
bottom:10px;

提前致谢!

最佳答案

如果您愿意使用一点 JQuery,那非常简单!

.unfixed_icons {
    position: relative
    top: [whatever you want]
    left: [whatever you want]
}

您保持与上面相同的 html,不要将类 unfixed_icons 添加到任何内容。

if $(document).height() > $(window).height()
    $('.icons').addClass 'unfixed_icons'
else
    $('.icons').removeClass 'unfixed_icons'

抱歉,这是在 coffeescript 中,但我想您会理解的。第一行是最重要的——您检查文档是否与窗口的视口(viewport)一样高。如果是,则使图标相对定位(这样它们就会消失),否则它们将保持固定。

每当有人重新加载页面时,这都可以正常工作,但如果你希望它在有人调整窗口大小时也重置,你需要这样的东西:

(window).resize ->
    clearTimeout(resizeTimer)
    resizeTimer = setTimeout(position_function, 100)

其中 position_function 等于上面的 jquery/coffeescript。本质上,当他们重新加载页面时,您每隔 0.1 秒就会重新检查一次页脚,以确保它的位置正确。

祝你好运!

关于jquery - 防止固定元素在调整大小时向上移动超过特定高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24876234/

相关文章:

javascript - 使用 jquery 验证表单输入字段

java - CSS 在 JSP 中不起作用

javascript - 移除 <object></object> 周围的空白

ios - 为 iPhone 5 和 6 设置不同的字体大小

javascript - 颜色框 iframe 调整大小

iphone - 在 Core Graphics 中调整图像大小

javascript - 当选择组中的单选按钮时 jQuery addClass

javascript - 未定义索引 PHPMailer 表单

javascript - $watch 如何获取数组中哪个值发生了变化?

javascript - 在事件中播放嵌入式 API Youtube 视频