javascript之解决IE下不渲染的bug

有时候,你会发现,在一些JS应用中,涉及到CSS的重新渲染(即页面样式需要更新)的话,IE死活不变。
此时你需要让IE重新渲染一下:

function handleIEhasLayout(){
  //trigger re-rendering
  document.body.style.zoom = 1.1;
  //restore it
  document.body.style.zoom = '';
}

有问题,记得执行一下handleIEhasLayout,万事OK。

原文:http://realazy.org/blog/2007/04/02/ie-haslayout-rerendering/

引用
IE5 似乎没有这个问题,IE6 有,我的 IE7 还是 beta2,版本号是 7.0.5346.5,也没有这个问题,一个朋友用的 beta3 版本号是 7.0.5450.4 居然说也有问题,我没有测试,用这个版本 IE 的朋友可以帮忙看看。

Dnew.cn 注:用这段代码似乎更好一些:

function reflow(){
var b = document.body;
b.style.zoom = b.style.zoom=="1"?"100%":"1";
}

使用style.zoom在某些情况下还会出现不能全部渲染的问题,比如页面内容很少,没有占满屏幕。
(shiweiwei97)的方法是:

document.body.style.display = “none”;
document.body.style.display = “”;

(0)

相关推荐

  • javascript之解决IE下不渲染的bug

    有时候,你会发现,在一些JS应用中,涉及到CSS的重新渲染(即页面样式需要更新)的话,IE死活不变. 此时你需要让IE重新渲染一下: function handleIEhasLayout(){   //trigger re-rendering   document.body.style.zoom = 1.1;   //restore it   document.body.style.zoom = ''; } 有问题,记得执行一下handleIEhasLayout,万事OK. 原文:http://

  • javascript解决IE6下hover问题的方法

    有时候我们想在非a标签上加hover元素 但是我们都知道IE6下不支持XX:hover,所以我们现在可以用js实现掉:代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999

  • JS解决ie6下png透明的方法实例

    复制代码 代码如下: <!DOCTYPE html><html lang="en"><head><title>解决ie6下png透明方法之JS法-</title><style type="text/css"> .a{background: #FFFF99 ;  background-image: url(bg.jpg); height:800px;padding: 50px;  } .b{ fl

  • 解决IE下AjaxSubmit上传文件提示下载文件问题

    springmvc后端: @RequestMapping(value="scoreFileUpload",produces = "text/html; charset=utf-8") @ResponseBody public String upload(HttpSession session,@RequestParam("file1") MultipartFile file,@RequestParam("paperId") S

  • JavaScript中解决多浏览器兼容性23个问题的快速解决方法

    一.document.formName.item("itemName") 问题 问题说明:IE下,可以使用 document.formName.item("itemName") 或 document.formName.elements ["elementName"]:Firefox 下,只能使用document.formName.elements["elementName"]. 解决方法:统一使用document.formNa

  • 解决Jquery下拉框数据动态获取的问题

    废话不多说,直接上源码: select.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+&q

  • 解决linux下openoffice word文件转PDF中文乱码的问题

    网上很多介绍是由于jdk中的没有字体导致乱码,而我遇到的是转换过程并未报错,但转换后的PDF中是乱码,尝试在jre/lib/fonts/中增加字体,还是不能解决问题,因此可以判断非jre字体问题,是linux系统字体问题. 用vim /etc/fonts/fonts.conf,可以看到系统字体文件在/usr/share/fonts,将windows系统字体文件连接到此目录下 ln -s /usr/local/fonts fonts 然后更新缓存:fc-cache 重启openoffice: /o

  • 解决ubuntu下vi上下左右方向键出现字母backspace键不能删除字符 问题

    在vmware虚拟机中安装ubuntu下使用vi编辑文件,发现上下左右方向键不能在文本中移动,出现ABCD字符,backspace也不能删除字符,解决方法有几种 方法1:将vimrc档案拷贝到home目录 $cp /etc/vim/vimrc ~/.vimrc 方法2:卸载vim-tiny,安装vim-full ubuntu默认安装装的是vim tiny版本,而需要的是vim full版本.执行下面的语句安装vim full版本: $sudo apt-get remove vim-common

  • 解决MyEclipse下启动项目时JBoss内存溢出的问题

    配置1: -Xms64m -Xmx512m 配置2: -c default -b 0.0.0.0 -Xmx1024M -Xms512M -XX:MaxPermSize=256m 以上这篇解决MyEclipse下启动项目时JBoss内存溢出的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • JavaScript模拟重力状态下抛物运动的方法

    本文实例讲述了JavaScript模拟重力状态下抛物运动的方法.分享给大家供大家参考.具体分析如下: 这段JavaScript代码模拟重力状态下的抛物运动,可设置以下参数:横向初速度.纵向初速度.重力加速度(如果这个加速度是一个随时间变化的值,就能达到其他非匀加速运动的效果了).动画间隔时间等,相对专业 <!doctype html> <html> <head> <title>js抛物运动</title> <meta charset=&qu

随机推荐