Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод определенного блока при выполнении условий (https://javascript.ru/forum/misc/27537-vyvod-opredelennogo-bloka-pri-vypolnenii-uslovijj.html)

sergiocharm 16.04.2012 16:01

Вывод определенного блока при выполнении условий
 
Можете подсказать такой код который при бы при расчете высчитывал сумму, итоговая цифра проверялась в условиях и если цифра входит в определенный промежуток, тогда чтобы выводился определенный блок?

К примеру есть 3 товара, при вводе условий (цифр, галочек) функция считает и если ответ получается в пределах определенных цифр то выводится к примеру блок 3.

Если это очень просто ткните мне куда нить в книгу

9xakep 16.04.2012 16:08

Ну сделайте что-нибудь подобное:
var a = 1
var b = 2
var c = 3
if(a==1) {
  if(b==2) {
    if(c==3) {
      alert('все 3 условия верны')
    }
    }
  }

sergiocharm 16.04.2012 16:20

ммм... ну вот смотрите

к примеру есть 3 поля, в одно я ввожу 4 в другое 8 в третье 10 плюсую(или минусу или и то и другое), получается ответ 22. Итоговые блоки: 1-10 это А, 10-20 это блок Б, 20-30 это блок С. 22 входит в пределы 20-30 значит выводится блок С.

http://www.avtonomno.ru/ceni.html Вот такой же я калькулятор хочу сделать.

9xakep 16.04.2012 16:39

<input id='text1' type='text'>
<input type='text' id='text2'>
<input type='text' id='text3'>
<input type='button' value='run' onclick='run()'>
<script>
function run() {
var a = document.getElementById('text1').value
var b = document.getElementById('text2').value
var c = document.getElementById('text3').value
var e = a+b+c
if(e >= 1 && e < 10) alert('блок А') 
if(e >= 10 && e < 20) alert('блок B')
if(e >= 20 && e <= 30) alert('блок C')
}
</script>

sergiocharm 16.04.2012 16:58

Делаю так:
<input id='text1' type='text'>
<input type='text' id='text2'>
<input type='text' id='text3'>
<input type='button' value='run' onclick='run()'>
<script>
function run() {
var a = document.getElementById('text1').value
var b = document.getElementById('text2').value
var c = document.getElementById('text3').value
var e = a+b+c
if(e >= 1 && e < 10) alert('блок А') 
if(e >= 10 && e < 20) alert('блок B')
if(e >= 20 && e <= 30) alert('блок C')
}
</script>

<div id="text1" style="display:none" class="tegs">Дима блять
</div>

<div id="text2" style="display:none" class="tegs">Уася блять
</div>

<div id="text3" style="display:none" class="tegs">Амир блять
</div>


но почему то не работает. И мне не надо алертом выводить, а нужно чтобы блок раскрывался

sergiocharm 16.04.2012 17:02

ааа... я вообще хрень какую то написал)))... в общем надо чтобы блок открывался а не всплывало окно

sergiocharm 16.04.2012 17:44

помогите плиз... как реализовать такой калькулятор? 9xakep, вы мне уже что то интересное показали, но как сделать чтобы блок открывался? или может чтобы в блоке открывалось то с условием чего совпадает ответ. Как то так:)

9xakep 16.04.2012 17:49

<input id='text1' type='text'>
<input type='text' id='text2'>
<input type='text' id='text3'>
<input type='button' value='run' onclick='run()'>

<div id="div1" style="display:none" class="tegs">Не матерись блять1
</div>

<div id="div2" style="display:none" class="tegs">Не матерись блять2
</div>

<div id="div3" style="display:none" class="tegs">Не матерись блять3
</div>
<script>
function run() {
var divs = document.getElementsByTagName('div')
for(i=0;i<divs.length;i++) {
divs[i].style.display = 'none'
}
var a = +document.getElementById('text1').value
var b = +document.getElementById('text2').value
var c = +document.getElementById('text3').value
var e = a+b+c
if(e >= 1 && e < 10)  document.getElementById('div1').style.display = ''
if(e >= 10 && e < 20)  document.getElementById('div2').style.display = ''
if(e >= 20 && e <= 30) document.getElementById('div3').style.display = ''
}
</script>

sergiocharm 16.04.2012 17:50

Цитата:

Не матерись блять1
)))

sergiocharm 16.04.2012 17:56

первый блок открывается, если ответ до 10, но если ответ больше 10 ничего не открывается, но и не исчезает первый блок. Как сделать чтобы выводились остальные блоки и чтобы блок закрывался при выводе другого блока

sergiocharm 16.04.2012 17:56

Проверяю здесь в сайдбаре http://www.allremont59.ru/

sergiocharm 16.04.2012 18:03

и по ходу дела функция не работает)

9xakep 16.04.2012 18:03

sergiocharm,
не знаю, что ты там написал, 5 мин назад, скрипт был не рабочий, посмотри еще раз, или тебе надо что надписи не менялись?

sergiocharm 16.04.2012 18:16

Цитата:

5 мин назад, скрипт был не рабочий,
вот именно поэтому я и не понял почему он ничего не выводит...
Сейчас все работает вижу, отлично получилось кстати... Спасибо вам 9xakep, вы меня очень сильно выручили.
А как бы еще сделать чтобы в определенном input проверялась о5 же цифра, т.е. будут пределы 0-60 и 60-90 и 90-120. Итак, в первых инпут он считает цифры, и получает ответ, но чтобы ответ учитывал пределы 0-60 и 60-90 и 90-120, и уже после этого выводил точный ответ с учетом всех условий.

sergiocharm 16.04.2012 18:20

Т.е. если в 4 инпут ввести 80 см то он будет в пределах второго ответа. О5 же как здесь http://www.avtonomno.ru/ceni.html#kalk первые значения он просто должен учесть к примеру людей 2 санузел 1, душ 1, но вот глубина должнеа провериться к примеру я туда ввожу 80, и на основания Данных людей - 2 санузел - 1, душ - 1 и значения 80, должен вывестись определенный блок.
Спасибо заранее!

9xakep 16.04.2012 18:31

sergiocharm,
ну так создавайте дополнительные условия

sergiocharm 16.04.2012 18:43

9xakep, ок я попробую, но если что обращусь к вам... СПС

sergiocharm 16.04.2012 22:24

9xakep,
у меня белый экран при нажатии на кнопку РАН http://viaduk-perm.ru/
справа внизу... Что не так?

9xakep 16.04.2012 22:29

sergiocharm,
походу у вас на странице есть див с id='div1', или div2, or div3. Просмотрите код, или в моем скрипте замените на что нибудь более оригинальное

sergiocharm 16.04.2012 22:33

заменил на свои но нет, результат белый лист,

sergiocharm 16.04.2012 22:36

а jq надо подключать? я в этом не очень шарю...
вот как подключил
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"  type="text/javascript"></script>
<script type="text/javascript" src="http://scriptjava.net/source/scriptjava/scriptjava.js"></script>

sergiocharm 16.04.2012 22:42

на другом сайте такая же стори

sergiocharm 16.04.2012 22:56

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

sergiocharm 17.04.2012 18:13

Помогите реализовать калькулятор.
Формула:
Если значение в пределах 1-5, а второе значение в пределах 1-60 = выводится блок Астра 5;
Если значение в пределах 5-8, а второе значение в пределах 60-90 = выводится блок Астра 8;
Если значение в пределах 8-10, а второе значение в пределах 90-120 = выводится блок Астра 10;
Но при том чтобы если даже первое зеначение в пределах 1-5, но второе его значение в пределах 90-120 то и выводиться должен блок Астра 10.

Буду благодарен за любую вашу помощь.

9xakep 17.04.2012 19:22

sergiocharm,
значит смотри уровень вложения div'ов, у тебя тот див, которые становиться: none стоит походу выше.


Часовой пояс GMT +3, время: 11:39.