EonerCMS——做一个仿桌面系统的CMS(七)

简介:

智能修改窗口的位置

  在测试的时候,我发现调整浏览器尺寸后,原先靠近浏览器边缘的窗口就直接被隐藏掉了,如下图:

  出现这问题的原因也很简单,因为窗口的top、left的值是写死的,当浏览器的宽高小于窗口top、left时,必然会被隐藏掉。解决办法就是在调整浏览器尺寸的同时,把窗口的top、left也一起修改,但是具体要修改成多少呢?

  经过自己的考虑和他人的指点,最终的解决办法就是按比例修改,也就是按当时窗口离左/右、上/下的距离与整个窗口大小的比例进行缩放,说的可能有点迷糊,不如看下修改公式吧:

  top = 浏览器缩放前窗口上边距 / ( 浏览器缩放前高度 - 浏览器缩放前窗口高度 ) * ( 浏览器缩放后高度 - 浏览器缩放后窗口高度 );

  left = 浏览器缩放前窗口左边距 / ( 浏览器缩放前宽度 - 浏览器缩放前窗口宽度 ) * ( 浏览器缩放后宽度 - 浏览器缩放后窗口宽度 );

  公式里我对浏览器的宽高都减去了窗口的宽高,原因就是不管浏览器怎么缩放,窗口的宽高是始终不会变化的,如果不减去窗口的宽高,是无法按比例缩放的。

  最终效果如下图:

  demo大家应该看到了,试试缩放下浏览器看下效果吧。

我是演示,看完文章后再看我

  demo源码,js

$().ready( function (){
     var  dfw = $(window).width() - $( "#div1" ).width();
     var  dfh = $(window).height() - $( "#div1" ).height();
     var  dl = $( "#div1" ).offset().left;
     var  dt = $( "#div1" ).offset().top;
     $(window).bind( "resize" , function (){
         var  ctw = $(window).width() - $( "#div1" ).width();
         var  cth = $(window).height() - $( "#div1" ).height();
         $( "#div1" ).css({ "left" :(dl/dfw*ctw)+ "px" , "top" :(dt/dfh*cth)+ "px" });
     });
});

  html

< div  id="div1" style="width:300px;height:30px;line-height:30px;text-align:center;padding:5px;background:red;position:absolute;top:100px;left:100px">我是演示,看完文章后再看我</ div >
本文转自胡尐睿丶博客园博客,原文链接: http://www.cnblogs.com/hooray/archive/2011/10/05/2199227.html ,如需转载请自行联系原作者

相关文章
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的营商环境行动计划管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的营商环境行动计划管理系统附带文章和源代码部署视频讲解等
104 4
|
小程序 前端开发 JavaScript
微信小程序|实习生管理系统设计与实现
微信小程序|实习生管理系统设计与实现
115 0
List<Map<String, Object>>,Map<String,List<Map<String, Object>>>多方式循环遍历
List<Map<String, Object>>,Map<String,List<Map<String, Object>>>多方式循环遍历
290 0
|
存储 物联网 测试技术
基于51单片机的门禁卡设计
基于51单片机的门禁卡设计
|
人工智能 搜索推荐 大数据
新潮科技:人工智能歌词创作软件app,在线ai作词押韵写歌词,可以自己写歌词的软件
AI机器人小芝(aixiegeci)是一款帮音乐人快速创作歌词的软件app。它不仅实现了传统常有的写歌词押韵功能,还引入了大量AI人工智能算法来辅助创作,根据你自己输入的关键词句子作为引导语作为创作的指引方向,不断写出原创歌词句子给你做参考,降低了创作歌词的难度,提高了创作歌词的乐趣和效率。该软件有两个创新功能模块:AI智能写歌词和AI智能填词。这个歌词创作工具对于想要进一步改善歌词写作效果和写歌词没有灵感思路的音乐人来说是及时的帮助。
1861 0
新潮科技:人工智能歌词创作软件app,在线ai作词押韵写歌词,可以自己写歌词的软件
|
物联网 开发工具 C语言
树莓派4&阿里云物联网平台上云开发实操
阿里云智能IoT事业部智能设备平台研发团队工程师陶宇豪——讲解阿里云物联网平台 树莓派4 上云开发实操。
8174 0
|
数据库 搜索推荐
CA,给了数据库,给了机器,为啥也扩不了容?
随着业务越来越复杂,数据量越来越大,并发量越来越大,数据库的性能越来越低。好不容易找运维申请了两台机器,让DBA部署了几个实例,想把一些业务库拆分出来,却发现拆不出来,扩不了容,尴尬!
520 0
|
量子技术 数据安全/隐私保护
|
SQL 关系型数据库 MySQL
Mysql 5.7 Gtid内部学习(十) 实际案例(二)
简书地址: http://www.jianshu.com/p/052a03b68fab
1461 0
|
JavaScript 前端开发 程序员