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


Posted in jQuery onMay 14, 2019

本文实例讲述了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>

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

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

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

scrollLeft和scrollTop

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

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

置顶菜单

悬停菜单:

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

实现方法:

得到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.3water.com/code/HtmlJsRun 测试上述代码运行效果。

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

jQuery 相关文章推荐
使用jQuery和ajax代替iframe的方法(详解)
Apr 12 jQuery
Jquery-data的三种用法
Apr 18 jQuery
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
jquery插件开发之选项卡制作详解
Aug 30 jQuery
JQuery EasyUI 结合ztrIee的后台页面开发实例
Sep 01 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
jQuery实现模拟搜索引擎的智能提示功能简单示例
Jan 27 jQuery
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
JQuery样式与属性设置方法分析
Dec 07 jQuery
jquery 验证用户名是否重复代码实例
May 14 #jQuery
JQuery获取元素尺寸、位置及页面滚动事件应用示例
May 14 #jQuery
JQuery animate动画应用示例
May 14 #jQuery
jquery实现选项卡切换代码实例
May 14 #jQuery
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 #jQuery
使用jQuery如何写一个含验证码的登录界面
May 13 #jQuery
JQuery特殊效果和链式调用操作示例
May 13 #jQuery
You might like
第五节--克隆
2006/11/16 PHP
使PHP自定义函数返回多个值
2006/11/26 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
PHP实现事件机制的方法
2015/07/10 PHP
Symfony2函数用法实例分析
2016/03/18 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
js 程序执行与顺序实现详解
2013/05/13 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
js实现随机点名小功能
2017/08/17 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
.net软件工程师应聘上机试题
2015/03/10 面试题
销售行业个人求职自荐信
2013/09/25 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
志愿者事迹材料
2014/12/26 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
何玥事迹观后感
2015/06/16 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
Python基础之元组与文件知识总结
2021/05/19 Python
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL