javascript改变主体ID(与css)相对于浏览器窗口大小动态
javascript change body ID (with css) dynamically with respect to browser window size
这是我的,但它不工作:
if(window.width() < 1000)
document.getElementsByTagName('body')[0].id="be"
else
document.getElementsByTagName('body')[0].id="bd"
;
请告诉我哪里写错了。请不要告诉其他的解决方案,请修复这段代码。
基本上,我想给一个网站的BODY标签一个不同的ID,如果浏览器窗口大小小于1000px
给你:
document.body.id = window.innerWidth < 1000 ? 'be' : 'bd';
将此代码放置在页面底部:
<script>
function setBodyId() {
document.body.id = window.innerWidth < 1000 ? 'be' : 'bd';
}
window.onload = setBodyId;
window.onresize = setBodyId;
</script>
现场演示: http://jsfiddle.net/simevidas/THqXB/
你可以用javascript来实现,但对于这种情况,最佳的解决方案是使用CSS媒体查询。
参见> CSS媒体查询浏览器调整大小?
window.width()
不是函数。使用window.innerWidth
或window.outerWidth
代替。(检查浏览器兼容性)
我推荐使用jQuery,一个JavaScript库。它处理了很多浏览器不兼容的问题。例如,IE不支持innerWidth
和outerWidth
属性。
跨浏览器:
$(function(){
$("body").attr("id", $(window).width() < 1000 ? "be" : "bd");
});
如果你想让它随着窗口大小的调整而改变,你需要给窗口大小调整事件添加一个事件监听器:
$(window).resize(function(){
$("body").attr("id", $(this).width() < 1000 ? "be" : "bd");
});
相关文章:
- 我可以获得相对于被点击元素的确切点击位置吗
- AddEventListener适用于浏览器,但不适用于Android
- JavaScript:单击时相对于父级增加变量值
- 打开相对于鼠标位置的CSS3/HTML5模式对话框
- 相对于角度控制器中的另一个阵列过滤阵列项目
- Javascript元素相对于屏幕的位置
- 块相对于父对象的位置
- 如果元素在容器外部,是否可以相对于容器以绝对定位来定位该元素
- 如何相对于浏览器窗口定位DIV
- 立即调用函数表达式(IIFE)相对于普通函数的优势
- 获取插入符号相对于行可见起点的位置
- 如何使Highcharts中的渲染标签始终可见,并且相对于单击或悬停的点仍然可见
- 正在获取单击的元素相对于整个文档的索引
- 动态下拉菜单相对于浏览器窗口的宽度显示
- 在HTML5中,是相对于运行浏览器的用户帐户的本地存储
- jQuery对齐方式-相对于浏览器窗口
- 当相对于可用的浏览器窗口没有水平空间时,以相反的方向打开CSS子菜单
- 如何查找元素相对于浏览器窗口的坐标
- 如何获得元素相对于浏览器视窗的位置?
- javascript改变主体ID(与css)相对于浏览器窗口大小动态