获取浏览器窗口大小

我们经常会遇到这样的需求:获取当前浏览器窗口大小,然后根据其大小来对页面进行样式设计。那么怎么去获取呢?

先来看这样一段代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function getBrowserSize() {
var de = document.documentElement;
return {
'width': (
window.innerWidth
|| de && de.clientWidth
|| document.body.clientWidth
),
'height': (
window.innerHeight
|| de && de.clientHeight
|| document.body.clientHeight
)
};
}

这段代码就是用来获取浏览器窗口大小的,我们来看看其中用到的一些知识点。

阅读全文

详解JavaScript对象

JavaScript中的对象是一种引用类型,也就是说一般新建一个对象给它赋给一个值a,则a只是指向该对象地址的一个“指针”,对象的存储方式是堆。

阅读全文

React中如何更新state

我们知道,React中最重要的概念就是state和props,我们在写每一个组件时,都可以为该组件创建一个state,用以保存当前组件的数据。那么如何去更新state就是一个重要的问题了。

阅读全文

javascript类型转换

JavaScript中有七种类型,它们互相之间可以转换,但要搞清楚其中的转换关系可不简单。

阅读全文

CSS外边距合并效应

大部分人都知道CSS布局时有外边距合并,也就是说如果给两个块元素设置margin-top或者margin-bottom值,它们上下之间的margin值会发生合并,但具体是根据什么来合并呢?我查了一下,大部分的解释都是叠加后的margin值取两者之间的最大值,也就是说,如果给上面的元素设置margin-bottom: 40px, 下面的元素设置margin-top: 50px,则最终两者之间的外边距为50px。但如果设置的值是负值呢?

阅读全文