如何加快 jQuery 粘性页脚的加载时间
How do I speed up the load time of my jQuery sticky footer?
所以我一直在为粘性页脚寻找一个可靠的解决方案。我发现一个在每个页面和每个浏览器中都能很好地工作;但是,加载然后生效需要一些时间。 有没有办法加快速度? 也许在页面加载之前加载它? 有人提到它可以设置为"onDOMready"而不是onLoad? 这有意义吗?
无论如何,这是我的代码:
<script>
function positionFooter() {
var mFoo = $("#myfooter");
if ((($(document.body).height() +
mFoo.height()) < $(window).height() &&
mFoo.css("position") == "fixed") ||
($(document.body).height() < $(window).height() &&
mFoo.css("position") != "fixed"))
{
mFoo.css({ position: "fixed", bottom: "0px" });
}
else
{
mFoo.css({ position: "static" });
}
}
$(document).ready(function () {
positionFooter();
$(window).scroll(positionFooter);
$(window).resize(positionFooter);
$(window).load(positionFooter);
});
</script>
<!--content --->
<div id="myfooter" style="width:100%;"><!--footer content--></div>
如何使其加载速度更快?
不需要javascript(尽管它很有帮助)。这里最好的办法是利用奇妙的最小高度属性,而不是根据总文档高度进行计算。
.html
<div id="wrap">
<div id="content">
<footer></footer>
</div>
.css
html,body{
height:100%;
}
#wrap{
min-height:100%;
position:relative;
}
#content{
padding-bottom:20px; // allow room for footer
}
footer{
position:absolute;
width:100%;
bottom:0;
left:0;
height:20px;
}
由于您的页面可能比这更复杂,如果您发现仅 css 中的min-height:100%
不能产生所需的结果,您可能需要使用 javascript 进行设置。
$(document).ready(function(){
var $window = $(window),
$wrap = $('#wrap'),
setMinHeight = function(){
$wrap.css('min-height',$window.height());
};
setMinHeight();
$window.resize(setMinHeight);
});
演示阿拉@Nick
演示更多内容
相关文章:
- 对于加载时间过长的循环来说是巨大的
- 谷歌如何确定网站加载时间
- 指令加载真的很长,检查加载时间的方法
- 如何使用队列呈现多个HighCharts以防止加载时间过长
- Javascript加载时间过长
- 如何计算angular JS应用程序(单页应用程序)的页面加载时间
- 如果页面加载时间超过 10 秒,如何刷新页面
- 画布 HTML 加载时间
- URL 长度是否会导致页面加载时间不同
- jquery加载时间和里面的css样式
- 我们怎么知道消除HTML/JS/CSS文件中的空白可以缩短页面加载时间呢
- 如何使用javascript来衡量第三方广告的加载时间
- 如何在boomrang页面加载时间中添加ajax执行时间
- CSS与Jquery、滑块、动画、灯箱..加载时间与功能
- mobile.加载时间过长,无法显示
- 如何改进使用JQuery Mobile的Android WebView的加载时间
- HTML5(测量页面加载时间)
- 如何为未加载、加载时间过长和被阻止的css文件编写回退
- Can-react.js可以提高加载时间
- Javascript窗口/图像加载时间 - 这应该不起作用,但它确实有效