使用JQuery从窗口底部修复元素
Use JQuery to fix element from bottom of window
我发现了很多修复元素顶部相对于窗口的例子。如何从窗口底部固定X像素的元素?简单地将"顶部"更改为"底部"是行不通的(例如,如果元素的高度大于窗口高度)
从顶部开始:
var pixels = 10;
var $elemPosition = $element.position();
var $elementH = $element.height();
var $windowH = $(window).height();
var $bottom = $element.offset().top + $element.height();
if ($(window).scrollTop() + pixels >= $elemPosition.top) {
$element.css({
'position': 'fixed',
'top': pixels + 'px'
});
} else {
$element.css({
'position': 'relative',
'top': '0px'
});
}
解决了!我想出的解决方案:
if (($windowH + $(window).scrollTop() - $bottom - pixels) >= 0) {
$element.css({
'position': 'fixed',
'top': ($windowH - $element.height() - pixels) + 'px',
'width': $eW + 'px',
'height': $eH + 'px'
});
} else {
$element.css({
'position': 'relative',
'top': '0px'
});
}
使用CSS bottom
属性而不是top
属性。
$element.css({
'position': 'fixed',
'bottom': pixels + 'px'
});
根据您的意见和需求:
例如,如果元素的高度大于窗口高度
你想要这样的东西吗?
JS-
$element = $("#element");
function setPosition(){
var pixels = 10;
var $elementH = $element.height();
var $windowH = $(window).height();
if ($windowH > $elementH) {
$element.css({
'position': 'fixed',
'bottom': pixels + 'px'
});
} else {
$element.css({
'position': 'relative',
'bottom': '0px'
});
}
}
$(function(){
setPosition();
$(window).scroll(function(){
setPosition();
});
});
例如,如果你试图将元素的height
更改为700px
,你会看到他得到了相对位置。
相关文章:
- 将视口底部滚动到元素底部
- 如何使一个元素从网页的顶部跳到底部再跳回到顶部
- 使用JQuery从窗口底部修复元素
- 如何用javascript滚动html中pdf对象元素的底部
- 滚动到页面的底部元素
- 将元素与窗口底部对齐,但允许滚动到下面的内容
- 如何使用 jQuery 检测元素的顶部靠近浏览器底部
- 避免元素跳转到页面底部的正确方法
- 元素位于底部并从底部截止
- 使元素在页面底部消失
- 如何使用 jquery 在滚动到底部时正确从元素中删除隐藏类
- 如何让我的导航栏在到达元素时粘在元素的底部
- jQuery或JS,使元素离开屏幕底部并在顶部输入
- 如何检测浏览器滚动到每个元素的底部
- 将元素滚动到页面底部的视图中
- 当光标到达底部时,有没有办法防止contentEditable元素滚动
- 当滚动到顶部而不是底部时添加元素
- 用户到达页面底部.元素逐渐消失
- 如何将文本环绕在父元素底部的图像
- 当元素底部边缘滚动到视图中时,固定元素