Вывод определенного блока при выполнении условий
Можете подсказать такой код который при бы при расчете высчитывал сумму, итоговая цифра проверялась в условиях и если цифра входит в определенный промежуток, тогда чтобы выводился определенный блок?
К примеру есть 3 товара, при вводе условий (цифр, галочек) функция считает и если ответ получается в пределах определенных цифр то выводится к примеру блок 3. Если это очень просто ткните мне куда нить в книгу |
Ну сделайте что-нибудь подобное:
var a = 1 var b = 2 var c = 3 if(a==1) { if(b==2) { if(c==3) { alert('все 3 условия верны') } } } |
ммм... ну вот смотрите
к примеру есть 3 поля, в одно я ввожу 4 в другое 8 в третье 10 плюсую(или минусу или и то и другое), получается ответ 22. Итоговые блоки: 1-10 это А, 10-20 это блок Б, 20-30 это блок С. 22 входит в пределы 20-30 значит выводится блок С. http://www.avtonomno.ru/ceni.html Вот такой же я калькулятор хочу сделать. |
<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> |
Делаю так:
<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> но почему то не работает. И мне не надо алертом выводить, а нужно чтобы блок раскрывался |
ааа... я вообще хрень какую то написал)))... в общем надо чтобы блок открывался а не всплывало окно
|
помогите плиз... как реализовать такой калькулятор? 9xakep, вы мне уже что то интересное показали, но как сделать чтобы блок открывался? или может чтобы в блоке открывалось то с условием чего совпадает ответ. Как то так:)
|
<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> |
Цитата:
|
первый блок открывается, если ответ до 10, но если ответ больше 10 ничего не открывается, но и не исчезает первый блок. Как сделать чтобы выводились остальные блоки и чтобы блок закрывался при выводе другого блока
|
Проверяю здесь в сайдбаре http://www.allremont59.ru/
|
и по ходу дела функция не работает)
|
sergiocharm,
не знаю, что ты там написал, 5 мин назад, скрипт был не рабочий, посмотри еще раз, или тебе надо что надписи не менялись? |
Цитата:
Сейчас все работает вижу, отлично получилось кстати... Спасибо вам 9xakep, вы меня очень сильно выручили. А как бы еще сделать чтобы в определенном input проверялась о5 же цифра, т.е. будут пределы 0-60 и 60-90 и 90-120. Итак, в первых инпут он считает цифры, и получает ответ, но чтобы ответ учитывал пределы 0-60 и 60-90 и 90-120, и уже после этого выводил точный ответ с учетом всех условий. |
Т.е. если в 4 инпут ввести 80 см то он будет в пределах второго ответа. О5 же как здесь http://www.avtonomno.ru/ceni.html#kalk первые значения он просто должен учесть к примеру людей 2 санузел 1, душ 1, но вот глубина должнеа провериться к примеру я туда ввожу 80, и на основания Данных людей - 2 санузел - 1, душ - 1 и значения 80, должен вывестись определенный блок.
Спасибо заранее! |
sergiocharm,
ну так создавайте дополнительные условия |
9xakep, ок я попробую, но если что обращусь к вам... СПС
|
9xakep,
у меня белый экран при нажатии на кнопку РАН http://viaduk-perm.ru/ справа внизу... Что не так? |
sergiocharm,
походу у вас на странице есть див с id='div1', или div2, or div3. Просмотрите код, или в моем скрипте замените на что нибудь более оригинальное |
заменил на свои но нет, результат белый лист,
|
а 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> |
на другом сайте такая же стори
|
что странно, полностью скопировал первую страницу темы, вставил в шаблон сайта и код срабатывает... мне кажется у меня скрипты не подключены просто
|
Помогите реализовать калькулятор.
Формула: Если значение в пределах 1-5, а второе значение в пределах 1-60 = выводится блок Астра 5; Если значение в пределах 5-8, а второе значение в пределах 60-90 = выводится блок Астра 8; Если значение в пределах 8-10, а второе значение в пределах 90-120 = выводится блок Астра 10; Но при том чтобы если даже первое зеначение в пределах 1-5, но второе его значение в пределах 90-120 то и выводиться должен блок Астра 10. Буду благодарен за любую вашу помощь. |
sergiocharm,
значит смотри уровень вложения div'ов, у тебя тот див, которые становиться: none стоит походу выше. |
Часовой пояс GMT +3, время: 11:39. |