Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.08.2012, 13:22
Новичок на форуме
Отправить личное сообщение для vjuenf Посмотреть профиль Найти все сообщения от vjuenf
 
Регистрация: 17.08.2012
Сообщений: 9

как сделать вилку if else на размер экрана юзера?
нужно,чтобы в зависимости от ширины окна браузера менялась ширина объекта #page по принципу: если размер такойто - применить к объекту #page такойто класс. и что бы это работало постоянно,реагируя на последующие изменения размеры окна браузера
Ответить с цитированием
  #2 (permalink)  
Старый 17.08.2012, 13:34
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

vjuenf, или
<body onResize="func()">

или
window.onresize = function () {  }

var wwidth=(window.innerWidth)?window.innerWidth:
    ((document.all)?document.body.offsetWidth:null);
var wheight=(window.innerHeight)?window.innerHeight:
    ((document.all)?document.body.offsetHeight:null);
switch (true) {
  case (wwidth == 1000 && wheight == 1000): {}
  case (...): {}
  ...
}
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2012, 13:40
Новичок на форуме
Отправить личное сообщение для vjuenf Посмотреть профиль Найти все сообщения от vjuenf
 
Регистрация: 17.08.2012
Сообщений: 9

мне бы через if else...
можно более подробно,всё необходимое, т.к.я не довъехал..
Ответить с цитированием
  #4 (permalink)  
Старый 17.08.2012, 15:05
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

vjuenf,
window.onresize = function() {
  var wwidth=(window.innerWidth)?window.innerWidth:
    ((document.all)?document.body.offsetWidth:null),
  page = document.getElementById("page");
  if (wwidth == 1000) { page.style.width = 1000; }
  else { if (wwidth == 2000) { page.style.width = 2000; }
  else { ... } }
}
Ответить с цитированием
  #5 (permalink)  
Старый 17.08.2012, 19:31
Новичок на форуме
Отправить личное сообщение для vjuenf Посмотреть профиль Найти все сообщения от vjuenf
 
Регистрация: 17.08.2012
Сообщений: 9

возможно,я туплю, но по моему онресайз - изменение размера,окна,а надо, что бы он менял размер не только при изменении размера окна, но и изначально корректировал размер, т.е. при загрузке сайта - прошёл вилку и при ресайзе тоже.

если не сложно - выложи фул для кода:

<html>
<head>
<style>
.page{
width:1100px;
}
</style>
</head>
<body>
<div class="page">
много контента
</div>
</body>
Ответить с цитированием
  #6 (permalink)  
Старый 17.08.2012, 19:49
Аватар для 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.all)?document.body.offsetWidth:null),
  page = document.getElementById("page");
  switch (true) {
    case wwidth == 1000: { page.style.width = 1000; }
    case wwidth == 2000: { page.style.width = 2000; }
  }
}

window.onresize = resizebl();
window.onload = resizebl();
</script>
</head>
<body>
<div id="page">
много контента
</div>
</body>
</html>

если конечно он правильно везде определяет размеры окна

Последний раз редактировалось lord2kim, 17.08.2012 в 19:58.
Ответить с цитированием
  #7 (permalink)  
Старый 17.08.2012, 20:08
Новичок на форуме
Отправить личное сообщение для vjuenf Посмотреть профиль Найти все сообщения от vjuenf
 
Регистрация: 17.08.2012
Сообщений: 9

Если Вас это так бесит - не будете ли вы так любезны, рассказать, как выяснить ширину клиентской части?
Ответить с цитированием
  #8 (permalink)  
Старый 17.08.2012, 20:22
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от vjuenf Посмотреть сообщение
Если Вас это так бесит - не будете ли вы так любезны, рассказать, как выяснить ширину клиентской части?
как то так
w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth));
Ответить с цитированием
  #9 (permalink)  
Старый 17.08.2012, 20:43
Новичок на форуме
Отправить личное сообщение для vjuenf Посмотреть профиль Найти все сообщения от vjuenf
 
Регистрация: 17.08.2012
Сообщений: 9

эх,если бы мне,нубскому существу ещё объяснили все элементы метода, предложенного lord2kim? т.к. я интересуюсь не только конкретным случаем,но и вообще системой...

Ваше негодование вполне понятно, НО!
1)я нуб. можно сказать полный.
2)я впринципе не предполагал таких вещей. т.е. я знал,о боковых панелях, но того, что всё так сложно я не предполагал,т.к. не понимаю зачем вообще нужна ширина всего окна,если влияь можно только на клиентскую часть?
Ответить с цитированием
  #10 (permalink)  
Старый 17.08.2012, 21:25
Новичок на форуме
Отправить личное сообщение для vjuenf Посмотреть профиль Найти все сообщения от vjuenf
 
Регистрация: 17.08.2012
Сообщений: 9

мой мозг не понимает таких умных рассуждений. можно бытовыми словами и поподробнее?

а, да хотел спросить:
1)почему вместо класса page поставлен id? через document.getelementsbyclassname нельзя аналогично?

2)мне тяжеловато разбираться в case'ах, ядаже в заголовке просил через ifelse... как выглядит последний результат в ifelse?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать fullscreen -=1100=- Общие вопросы Javascript 8 30.07.2012 09:53
Диалоговое окно в центре экрана. Как в твиттере. IvanZotov jQuery 1 23.06.2011 18:48
Как лучше сделать виджет? comentator Элементы интерфейса 0 25.03.2011 08:44
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42