js滚动条宽度

时间:2012-05-30 17:05:17

标签: javascript width scrollbar conditional-statements

我在网上发现了这个脚本http://javascript.jstruebig.de/javascript/70。我只是想知道这条线意味着什么:

if(!width) width = document.body.offsetWidth-document.body.clientWidth;

!宽度条件是什么意思?如果没有初始化?此外,是否有任何提供相同功能的较短脚本?

谢谢!

1 个答案:

答案 0 :(得分:0)

!width只检查变量的falsey值,更明确的检查是

if(typeof width === "undefined") {
   width = document.body.offsetWidth-document.body.clientWidth;
}
  • offsetWidth是元素的整个宽度,包括边框和滚动条 客户端
  • clientWidth是包含填充但不包括边框和滚动条的元素的宽度

简而言之,该逻辑只获取页面边框和滚动条的宽度。可能有不同的实现,但没有比两个操作数的减法更短的逻辑。