JavaScript

超轻量级php框架startmvc

JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例

更新时间:2020-08-26 15:12:01 作者:startmvc
本文实例讲述了JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单。分享给大家供大家参考,

本文实例讲述了JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单。分享给大家供大家参考,具体如下:

获取可视区尺寸和文档尺寸


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 <script type="text/javascript">
 $(function () {
 console.log('可视区的宽度:'+$(window).width());
 console.log('可视区的高度:'+$(window).height());
 console.log('文档的高度:'+$(document).height());
 console.log('文档的宽度:'+$(document).width());
 })
 </script>
</head>
<body>
 <p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
</body>
</html>

可视区和文档的宽度是一样的,可视区和文档的高度不一样。


console.log('可视区的宽度:'+$(window).width());
console.log('可视区的高度:'+$(window).height());
console.log('文档的高度:'+$(document).height());
console.log('文档的宽度:'+$(document).width());

scrollLeft和scrollTop

置顶菜单

悬停菜单:

往下拉动滚动条的时候,如果菜单超出浏览器的可视区了,就悬停在浏览器上部

实现方法:

得到scrolltop的值,如果菜单出去了,就把菜单绝对定位在上部

position:'fixed',  固定定位 left:'50%',  和marginLeft一起使用,使菜单居中 top:0, marginLeft:-480


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style type="text/css">
 body{
 margin: 0;
 }
 .banner{
 width: 960px;
 height: 200px;
 background-color: cyan;
 margin: 0 auto;
 }
 .menu{
 width: 960px;
 height: 100px;
 background-color: gold;
 margin: 0 auto;
 text-align: center;
 line-height: 80px;
 }
 p{
 text-align: center;
 color: red;
 }
 </style>
 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 <script type="text/javascript">
 $(function () {
 $menu=$('.menu');
 $(window).scroll(function () {
 var iNum=$(document).scrollTop();
 // document.title=iNum;
 if(iNum>200){
 $menu.css({
 position:'fixed',
 left:'50%',
 top:0,
 marginLeft:-480
 })
 }
 else {
 $menu.css({
 position:'static',
 marginLeft:'auto'
 })
 }
 })
 })
 </script>
</head>
<body>
 <div class="banner"></div>
 <div class="menu">菜单</div>
 <p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
<p>文档内容</p>
 <br />
 <br />
 <br />
 <br />
</body>
</html>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具 http://tools.jb51.net/code/HtmlJsRun 测试上述代码运行效果。

JQuery 可视区尺寸 文档尺寸 悬浮菜单