通过&#106avascript实现页面自适应

页面|自适应

        有时候,我们可能需要象新版的Yahoo邮箱一样,让一些数据显示块可以根据页面大小进行自适应。事实并不难,但是如果单纯用CSS控制的话,往往不能完全实现我们要的效果,这时候需要借助javascript,Javascript可以让我我们实现司空见怪的自适应页面,在iSunXoft的HR开源项目就应用到.
        实现原理:
         获取IE显示屏幕的宽高.确定哪些对象是绝对位置是固定的,那些是不固定的,哪些长宽是固定,然后象WIN FORM程序一样,根所软件界面的大小,进行设计相关对象的长宽,绝对位置等属性,但是在WEB上程序没有办法实时检测到窗口大小变化,只能用让实现自适应的方法通过SetTimeout 函数进行隔时递归调用.
         下面是摘自iSunXoft Hr开源项目SysForm.aspx实现的方法.
         注:$("")是有变化的元素.
   var h;
   var w;
   function resize()
   {  
   
    var he = document.body.offsetHeight;
    var wi = document.body.offsetWidth;
    if($("DataTable").style.display.toLowerCase()==""||$("DataTable").style.display.toLowerCase()=="inline")
    {
     if (h==he&&w==wi)
     {
      if($("leftMenu").style.display.toLowerCase() == "none" )
      {
       $("DivDataList").style.width = wi - 30;
      }
      else
      {
       $("DivDataList").style.width = wi - 223;
      }       
      setTimeout("resize()",1000);
      return;
     }
     h = he;
     w = wi;
    
     if (he>100)
     {
      $("DivDataList").style.height = he - 172;
     
     }
     if(wi>200)
     {
      $("DivDataList").style.width = wi - 223;
      if($("leftMenu").style.display.toLowerCase() == "none" )
      {
       $("DivDataList").style.width = wi - 30;
      }
     }
    }

    if($("DataEmpWidows").style.display.toLowerCase()=="inline"||$("DataEmpWidows").style.display.toLowerCase()=="")
    {
     if (h==he&&w==wi)
     {
      if($("leftMenu").style.display.toLowerCase() == "none" )
      {
       $("DataEmpWidows").style.width = wi - 30;
      }
      else
      {
       $("DataEmpWidows").style.width = wi - 223;
      }       
     }
     h = he;
     w = wi;
     if (he>150)
     {
      $("DataEmpWidows").style.height = he - 132;
     }
     if(wi>200)
     {
      $("DataEmpWidows").style.width = wi - 223;
      if($("leftMenu").style.display.toLowerCase() == "none" )
      {
       $("DataEmpWidows").style.width = wi - 30;
      }
     }
   
    }
    if(typeof($("EipWindows")) != "undefined")
    {
     //if($("EipWindows").style.display.toLowerCase()=="inline")
     //{
     // if (h==he&&w==wi)
     // {
     //  if($("leftMenu").style.display.toLowerCase() == "none" )
     //  {
     //   $("EipWindows").style.width = wi - 30;
     //  }
     //  else
     //  {
     //   $("EipWindows").style.width = wi - 223;
     //  }       
     // }
     // h = he;
     // w = wi;
     // if (he>150)
     // {
     //  $("EipWindows").style.height = he - 132;
     // }
     // if(wi>200)
     // {
     //  $("EipWindows").style.width = wi - 223;
     //  if($("leftMenu").style.display.toLowerCase() == "none" )
     //  {
     //   $("EipWindows").style.width = wi - 30;
     //  }
     // }   
     //}
    }
    setTimeout("resize()",1000);
   }
   resize();

   然后就在网页上调用resize();一旦窗口大小有变化,或是分辩率有变化,都能确保能够实现真正意义上的自适应.

时间: 2025-01-31 05:31:36

通过&#106avascript实现页面自适应的相关文章

通过JAVAScript实现页面自适应

javascript|页面|自适应     有时候,我们可能需要象新版的Yahoo邮箱一样,让一些数据显示块可以根据页面大小进行自适应.事实并不难,但是如果单纯用CSS控制的话,往往不能完全实现我们要的效果,这时候需要借助javascript,Javascript可以让我我们实现司空见怪的自适应页面,在iSunXoft的HR开源项目就应用到. 实现原理: 获取IE显示屏幕的宽高.确定哪些对象是绝对位置是固定的,那些是不固定的,哪些长宽是固定,然后象WIN FORM程序一样,根所软件界面的大小,进

制作网页技巧:通过JavaScript实现页面自适应

javascript|技巧|网页|页面|自适应 有时候,我们可能需要象新版的Yahoo邮箱一样,让一些数据显示块可以根据页面大小进行自适应.事实并不难,但是如果单纯用CSS控制的话,往往不能完全实现我们要的效果,这时候需要借助javascript,Javascript可以让我我们实现司空见怪的自适应页面,在iSunXoft的HR开源项目就应用到. 实现原理: 获取IE显示屏幕的宽高.确定哪些对象是绝对位置是固定的,那些是不固定的,哪些长宽是固定,然后象WIN FORM程序一样,根所软件界面的大小

Spring Boot 使用 AOP 实现页面自适应

鉴于复杂页面自适应的难度,一般会做几套模板分别适应手机.平板.电脑等设备.使用 Spring Boot 开发单体应用时,一般会使用 Thymeleaf 模板,那么可以使用 AOP 技术来实现页面自适应. 如图所示,与普通项目相比而言,我们需要拦截用户的请求,获取 Request 中的 Header 的 User-Agent 属性,来判断用户的设备信息,然后修改 Controller 返回的页面路径,来适应设备的页面路径,从而达到页面自适应的效果. 代码实现 假设我们的静态资源目录如下 resou

布局-如何方便的解决页面自适应问题?

问题描述 如何方便的解决页面自适应问题? 页面的显示效果总是需要自适应多种分辨率(或者说适应多种窗口大小).尤其是多设备协同工作时,需要页面在不同设备上显示不同的布局. 例如,在宽屏设备上,希望页面内容左右各有一部分留白,而中间页面内容固定:而此页面显示在窄屏设备上时(手机竖屏显示),希望没有留白,或者留白变小.想问下,有没有简单点的办法做到页面自适用多种场景? 解决方案 在html头部加 以下 ,这种简单 解决方案二: 解决方案三: Bing 查找:如何方便的解决页面自适应问题

img标签自适应-怎样让a链接包着的图片随页面自适应大小

问题描述 怎样让a链接包着的图片随页面自适应大小 <div id="container"> <div > <img src="./ycj1.jpg" style="width:100%;"/> </div> <div style="height:100px;width:100%;background:#0E1939;text-align:center"> <a

javascript 装载iframe的子页面自适应高度

假设主页面有一个div,里面放置一个iframe: <div id="frameBox"> <iframe id="frameWin" src="1.html" name="opWin" style="width:100%;height:100%" frameborder="0" scrolling="no"></iframe> &

通过JAVAScript实现页面自适应_javascript技巧

有时候,我们可能需要象新版的Yahoo邮箱一样,让一些数据显示块可以根据页面大小进行自适应.事实并不难,但是如果单纯用CSS控制的话,往往不能完全实现我们要的效果,这时候需要借助javascript,Javascript可以让我我们实现司空见怪的自适应页面,在iSunXoft的HR开源项目就应用到.         实现原理:          获取IE显示屏幕的宽高.确定哪些对象是绝对位置是固定的,那些是不固定的,哪些长宽是固定,然后象WIN FORM程序一样,根所软件界面的大小,进行设计相关

HTML5 移动页面自适应手机屏幕宽度详解_相关技巧

网上关于这方面的文章有很多,重复的东西本文不再赘述,仅提供思路,并解释一些其他文章讲述模糊的地方.  1.使用meta标签,这也是普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的,但是各设备对该标签的解释方式及支持程度不同造成了不能兼容所有浏览器或系统. 首先解释该标签的含义: <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, ma

&amp;#106avascript处理页面

页面     1.javaScript等脚本语言是不能访问本地文件的,虽然在本机上的一些基于file:///路径或文件路径的html页面中是可以访问本地文件,但这是因为同是本地文件,他们之间是可以访问的!  在XMLHTTP技术中,对于先前的msxml版本的是可以访问本地文件,由于它同时也是一个安全漏洞,已经有相关的包或新版的msxml,已经禁止这么操作了!   唯一的解决方案是把需要处理的文件上传到服务器,然后返回到客户端,然后由脚本语言处理. 2.对于innerHTML而言,它不是字符串,用