Показать сообщение отдельно
  #11 (permalink)  
Старый 17.08.2012, 21:34
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

vjuenf,
<html>
<head>
<style>
#page{
width:1100px;
}
</style>
<script>
function resizebl() {
  var wwidth=(window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth));
  page = document.getElementById("page");
  /*switch (true) {
    case wwidth == 1000: { page.style.width = 1000; }
    case wwidth == 2000: { page.style.width = 2000; }
  }*/
  if (wwidth == 1000) page.style.width = 1000;
  if (wwidth == 2000) page.style.width = 2000;
}
 
window.onresize = resizebl();
window.onload = resizebl();
</script>
</head>
<body>
<div id="page">
много контента
</div>
</body>
</html>

если элемент 1, то проще использовать getElementById()
если несколько, то можно уже и через getElementsByClassName() не забывая при этом реализовывать таковой метод для IE
// getElementsByClassName for IE
if (typeof document.getElementsByClassName == 'undefined') {
	document.getElementsByClassName = function(classname) {
		var all = document.all,
		elements = [],
		regexpr = new RegExp('\\b'+classname+'\\b','ig');
		for(var x=0; x<all.length; x++) if (all[x].className)
		if (all[x].className.search(regexpr)!=-1) elements[elements.length] = all[x];
		return elements;
	}
}


Сообщение от vjuenf Посмотреть сообщение
мой мозг не понимает таких умных рассуждений. можно бытовыми словами и поподробнее?
если у объекта window существует свойство innerWidth используем таковое для определение клиентской ширины
если не существует такового свойства, проверяем существует ли у объекта document свойство clientWidth (можно и без documentElement), то используем таковое для определения клиентской ширины
если не существует и такового свойства, для определения клиентской ширины браузера используем свойство offsetWidth элемента body

Последний раз редактировалось lord2kim, 17.08.2012 в 21:39.
Ответить с цитированием