解决浮动广告无法浮动的方法
2009-02-12 17:48
218 查看
浮动图层的原理就是利用document.body.scrollLeft和document.body.scrollTop动态的改变图层的位置,但是当HTML有了类似这样的头之后,图层就打死也不动了。
跟踪之后可以发现,当定义了DOCTYPE之后document.body.scrollLeft和document.body.scrollTop无论滚动条滚动到何处,这样的属性永远都等于零。于是图层就不再浮动了。
一般的解决办法是去掉那个头,呵呵。这里说的是另外一个办法。
在定义了DOCTYPE之后,使用document.documentElement.scrollLeft代替document.body.scrollLeft。同理使用document.documentElement.scrollTop代替document.body.scrollTop。
这样在有DOCTYPE的时候,图层也可以滚动了。
但是,在没有DOCTYPE的时候document.documentElement.scrollLeft也永远为零了,那么,能否有一个在有没有DOCTYPE定义都可以用的方案涅?嘿嘿。
那就可以这样写:
if(document.documentElement && document.documentElement.scrollLeft)
{
scrollLeft = document.documentElement.scrollLeft;
}
else if (document.body)
{
scrollLeft = document.body.scrollLeft;
}
这样就可以在任何情况下使用scrollLeft了,其他的属性(scrollTop、clientWidth、clientHeight)同理。
跟踪之后可以发现,当定义了DOCTYPE之后document.body.scrollLeft和document.body.scrollTop无论滚动条滚动到何处,这样的属性永远都等于零。于是图层就不再浮动了。
一般的解决办法是去掉那个头,呵呵。这里说的是另外一个办法。
在定义了DOCTYPE之后,使用document.documentElement.scrollLeft代替document.body.scrollLeft。同理使用document.documentElement.scrollTop代替document.body.scrollTop。
这样在有DOCTYPE的时候,图层也可以滚动了。
但是,在没有DOCTYPE的时候document.documentElement.scrollLeft也永远为零了,那么,能否有一个在有没有DOCTYPE定义都可以用的方案涅?嘿嘿。
那就可以这样写:
if(document.documentElement && document.documentElement.scrollLeft)
{
scrollLeft = document.documentElement.scrollLeft;
}
else if (document.body)
{
scrollLeft = document.body.scrollLeft;
}
这样就可以在任何情况下使用scrollLeft了,其他的属性(scrollTop、clientWidth、clientHeight)同理。
相关文章推荐
- 子层div浮动导致父层无法自适应高度的解决方法
- 对联浮动广告代码不滚动的解决方法
- IE6/7中li浮动外边距无法撑开ul的解决方法
- FLASH轮播广告 在谷歌浏览器中不显示的解决办法(FLash轮播放广告在谷歌浏览器中无法显示处理方法)
- 绝对有效!桌面上图标删不掉,桌面广告图标无法删除的解决方法,桌面上IE无法删除的解决方法,桌面上浏览器图标无法删除的解决方法
- FLASH轮播广告 在谷歌浏览器中不显示的解决办法(FLash轮播放广告在谷歌浏览器中无法显示处理方法)
- 对联浮动广告JS代码不滚动不浮动的解决方法
- 对联浮动广告JS代码不滚动不浮动的解决方法
- 浮动元素无法撑开父元素--解决方法
- asp.net中 浮动广告不滚动解决方法
- FLASH轮播广告 在谷歌浏览器中不显示的解决办法(FLash轮播放广告在谷歌浏览器中无法显示处理方法)
- 浮动元素无法撑开父元素的解决方法
- IE6/7中li浮动外边距无法撑开ul的解决方法
- Image.FromFile方法会锁住文件的解决方法(文件正由另一进程使用,因此该进程无法访问该文件)
- 在workflow中,无法为实例 ID“...”传递接口类型“...”上的事件“...” 问题的解决方法。
- windows2003无法打开防火墙的解决方法
- Spring Cloud 监控服务器下 IP/URL 不正确导致无法注册的解决方法
- MySql中时间类型无法设置默认0000-00-00的解决方法(PHP)
- 命令行下使用javah命令生成.h文件,出现“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”的解决方法
- ios设备中angularjs无法改变页面title的解决方法