首页 > 编程 > JavaScript > 正文

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

2019-11-19 11:34:52
字体:
来源:转载
供稿:网友

本文实例讲述了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.VeVB.COm/code/HtmlJsRun 测试上述代码运行效果。

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常见事件用法与技巧总结》、《jQuery常用插件及用法总结》、《jQuery操作json数据技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结

希望本文所述对大家jQuery程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表