博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用$(window).resize()实现窗口大小自适应宽度问题
阅读量:4687 次
发布时间:2019-06-09

本文共 1656 字,大约阅读时间需要 5 分钟。

© 版权声明:本文为博主原创文章,转载请注明出处

问题描述:利用iframe做页面引入,用$(window).resize()作自适应;结果窗口变小时,利用$(window).width()获取到的宽度总是小于浏览器宽度,在左边留下17px宽度的白条。

  代码如下:

1 
1 // 自适应主页面大小 2 $(window).resize(function () { 3      4   initSize(); 5  6 } 7  8  9 // 初始化主页面大小10 function initSize() {11 12   var screenHeight = $(window).height();// 窗口高度13   var navHeight = $("#topNav").height();// 顶部导航栏高度14   var contentHeight = screenHeight - navHeight;// 内容区域高度15   var screenWidth = $(window).width();// 窗口宽度16 17   $("#main-wrapper").width(screenWidth);// 设置内容区域宽度18   $("#main-wrapper").css("margin-top", navHeight);// 设置内容区域margin-top19   $("#main-wrapper").height(contentHeight);// 设置内容区域高度20 21 }

问题分析:在页面大小发生变化时,如果高度减小时,此时会出现滚动条,$(window).width()获取的宽度为减去滚动条之后的宽度,又因为iframe默认靠右,因此左边会出现空白。

解决方案判断当页面高度减小时,将宽度设置为$(window).width()加上滚动条(默认17px)的宽度即可。

 

1 var initHeight = $(window).height() - $("#topNav").height();// 初始主页面高度 2  3 // 自适应主页面大小 4 $(window).resize(function () { 5      6   initSize(); 7  8 } 9 10 11 // 初始化主页面大小12 function initSize() {13 14   var screenHeight = $(window).height();// 窗口高度15   var navHeight = $("#topNav").height();// 顶部导航栏高度16   var contentHeight = screenHeight - navHeight;// 内容区域高度17   var screenWidth = $(window).width();// 窗口宽度18 19   if (initHeight > contentHeight) {
// 初始高度大于现有高度,高度变小过程中会出现滚动条20     screenWidth = screenWidth + 17;// 窗口宽度变为现有宽度+滚动条宽度21   }22   initHeight = contentHeight;// 将初始高度重置为现有高度23 24   $("#main-wrapper").width(screenWidth);// 设置内容区域宽度25   $("#main-wrapper").css("margin-top", navHeight);// 设置内容区域margin-top26   $("#main-wrapper").height(contentHeight);// 设置内容区域高度27 28 }

 

转载于:https://www.cnblogs.com/jinjiyese153/p/7381686.html

你可能感兴趣的文章
给陌生人写一封信
查看>>
noip2013花匠
查看>>
[CF]Equalize Them All
查看>>
React Ant design table表单与pagination分页配置
查看>>
重大发现: windows下C++ UI库 UI神器-SOUI(转载)
查看>>
linux 压缩文件的命令总结
查看>>
linux下alias命令具体解释
查看>>
codeforces#254DIV2解题报告
查看>>
自己写的微信小程序炸金花简单版
查看>>
git
查看>>
边工作边刷题:70天一遍leetcode: day 34-1
查看>>
边工作边刷题:70天一遍leetcode: day 45-1
查看>>
Xcode工作区间xxxx.xcworkspace不包含xxxx.xcodeproj
查看>>
使用redis中的watch解决秒杀系统中抢购问题
查看>>
git使用总结
查看>>
网络编程之OSI七层协议
查看>>
JS 运算、判断优化
查看>>
vue-cli脚手架中webpack配置基础文件详解
查看>>
星球大战 BZOJ 1015
查看>>
linux下解压rar文件
查看>>