Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2015, 14:53
Профессор
Отправить личное сообщение для porezon Посмотреть профиль Найти все сообщения от porezon
 
Регистрация: 09.01.2013
Сообщений: 167

Проблема с value
1 проблема, когда мини реклама нажимаешь, там где таймер value нужно сделать 5 секнд, когда обычную выбираешь 20 сек
2. В том же самом таймере min и max значения согласно таймерам надо сделать

<form name="frm" method="post" action="">
<table class='reyt' width='100%' border='0' cellpadding='0' cellspacing='0' style='margin-bottom: 0;'>
<tr>
<td width='50%'><b>Вид рекламы</b><br /><span style="color: #006BD2;">мини реклама внизу страницы</span></td>
<td class=value>
<select name='mini' onChange="PlanChange(this.form); return false;" style="width:230px;">
<option value='0' onClick="targen('tr0')">Обычная реклама</option>
<option value='1' onClick="targen('tr1')">Мини реклама</option>
</select>
</td>
<td class="service">---</td>
</tr>

<tr>
<td width='50%'><b>Таймер</b><br />
<span style="color: #006BD2;"><div id='slov'>20 сек стандарт, +1 сек 0.001 руб.</div></span>
</td>
<td>
<input name="timer" type="number" min="5" max="120" autocomplete="off"  maxlength="3" onChange="PlanChange(this.form); return false;" style="width:50px;" id='slov3' value="20""><span id='slov2'>&nbsp;&nbsp;&nbsp;от 20 до 120 сек.</span>
</td>
<td class="service">---</td>
</tr>

<tr>
<td width='50%'><b>Выделить ссылку среди других</b><br />
<span style="color: #006BD2;">выделение красным цветом</span></td>
<td class=value>
<select name="highlight" onChange="PlanChange(this.form); return false;" style="width:230px;">
<option value="0">Нет</option>
<option value="1">Да +0.001 WMR</option>
</select>
</td>
<td class="service">---</td>
</tr>

<tr id="tr2">
<td width='50%'><b>На самом верху страницы</b><br />
<span style="color: #006BD2;">размещение в VIP категории</span></td>
<td class=value>
<select name="vip" onChange="PlanChange(this.form); return false;" style="width:230px;">
<option value="0">Нет</option>
<option value="1">Да +0.001 WMR</option>
</select>
</td>
<td class="service">---</td>
</tr>

<tr>
<td width='50%'><b>Просмотр только в активном окне</b><br /><span style="color: #006BD2;">рекомендуется</span></td>
<td class=value>
<select name="act" onChange="PlanChange(this.form); return false;" style="width:230px;">
<option value="0">Нет</option>
<option value="1">Да +0.001 WMR</option>
</select>
</td>
<td class="service">---</td>
</tr>


<tr>
<td width='50%'><b>Стоимость одной ссылки</b> (<span style="color: #006BD2;">руб.</span>)</b></td>
<td class=price>
<input type='text' class='summa' size='20' maxlength='20' readonly='readonly' name='summa' value="0.00 руб.">
</td>
<td class="service">---</td>
</tr>
</table>
</form>


<script language=javascript>
            function number_format(number, decimals, dec_point, thousands_sep) {
                var i, j, kw, kd, km;
                if (isNaN(decimals = Math.abs(decimals))) { decimals = 2; }
                if (dec_point == undefined) { dec_point = ","; }
                if (thousands_sep == undefined) { thousands_sep = "."; }
                i = parseInt(number = (+number || 0).toFixed(decimals)) + "";
                if ((j = i.length) > 3) { j = j % 3; } else { j = 0; }
                km = (j ? i.substr(0, j) + thousands_sep : "");
                kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
                kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");
                return km + kw + kd;
            }

var celoe;
var drob;
var res;
function okrugl(nums)
{
	celoe=Math.floor(nums);
	drob=(nums-celoe)*100;
	drob=Math.floor(drob);
	if(drob>=10)
	{
		res=celoe+'.'+drob;
	}else{
		res=celoe+'.0'+drob;
	}
	return res;
}

function targen(id) {
if (id == "tr1"){ 
document.getElementById('tr2').style.display='none';
}else{
document.getElementById('tr2').style.display=''; 
}
}
function PlanChange(frm){
var text = [];
text[0] = '20 сек стандарт, +1 сек 0.001 руб.';
text[1] = '5 сек стандарт, +1 сек 0.001 руб.';
text[2] = '&nbsp;&nbsp;&nbsp;от 20 до 120 сек.';
text[3] = '&nbsp;&nbsp;&nbsp;от 5 до 15 сек.';
text[4] = '----';
text[5] = '---';
if (frm.mini.value == 0){
var dinam=0.030; 
var timer=0.001;
lprice = dinam;
if (frm.timer.value == 20) { lprice == lprice; }
if (frm.timer.value > 20) { lprice += (frm.timer.value-20)*timer; }
document.getElementById('slov').innerHTML = text[0];
document.getElementById('slov2').innerHTML = text[2];
document.getElementById('slov3').innerHTML = text[4];
}else{
var dinam=0.015;
var timer=0.001;
lprice = dinam;
if (frm.timer.value == 5) { lprice == lprice; }
if (frm.timer.value > 5) { lprice += (frm.timer.value-5)*timer; }
document.getElementById('slov').innerHTML = text[1];
document.getElementById('slov2').innerHTML = text[3];
document.getElementById('slov3').innerHTML = text[5];
}

var hldyn=0.001;
var d_count=1200;
var vipprice=0.001;
var act = 0.001;

if (frm.vip.value == 1) { lprice += vipprice; }
if (frm.highlight.value == 1) { lprice += hldyn; }
if (frm.act.value == 1) { lprice += act; }

frm.summa.value = number_format(lprice, 3, '.', '')+' руб.';
}
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2015, 15:06
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

И что от нас требуется?
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2015, 15:09
Профессор
Отправить личное сообщение для porezon Посмотреть профиль Найти все сообщения от porezon
 
Регистрация: 09.01.2013
Сообщений: 167

1 проблема, когда мини реклама нажимаешь, там где таймер value нужно сделать 5 секнд, когда обычную выбираешь 20 сек
2. В том же самом таймере min и max значения согласно таймерам надо сделать


Помочь разобратся как сделать
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2015, 15:17
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Что-то не видно никакой просьбы.
Ответить с цитированием
  #5 (permalink)  
Старый 06.01.2015, 15:28
Профессор
Отправить личное сообщение для porezon Посмотреть профиль Найти все сообщения от porezon
 
Регистрация: 09.01.2013
Сообщений: 167

ну прошу помочь разобратся
Ответить с цитированием
  #6 (permalink)  
Старый 06.01.2015, 15:51
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Μεжду 109 и 110-ой строчками добавь
var value = +frm.mini.value;
frm.timer.min = 20 - 15 * value;
frm.timer.max = 120 - 105 * value;
frm.timer.value = frm.timer.min;
Ответить с цитированием
  #7 (permalink)  
Старый 06.01.2015, 16:20
Профессор
Отправить личное сообщение для porezon Посмотреть профиль Найти все сообщения от porezon
 
Регистрация: 09.01.2013
Сообщений: 167

делал тоже так. Но проблема то в том, что мне число надо после изминение вставить. А там его уже менять можно будет, а так оно не меняется

вот например выбрал обычную рекламу, и далее пытаюсь место 20 сек поставить 40, оно сбрасывает обратно на 20
Ответить с цитированием
  #8 (permalink)  
Старый 06.01.2015, 16:43
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от porezon
сбрасывает обратно на 20
Тогда надо чтобы менялось, если изменен select только. Поскольку функция PlanChange используется для отслеживания изменения элементов формы, то у первого SELECT onchange слушателя, вы должны использовать второй аргумент. Например true укажет, что можно производить изменения в .тimer
Пример http://codepen.io/Malleys/pen/azBMxV
Ответить с цитированием
  #9 (permalink)  
Старый 06.01.2015, 16:54
Профессор
Отправить личное сообщение для porezon Посмотреть профиль Найти все сообщения от porezon
 
Регистрация: 09.01.2013
Сообщений: 167

Если сделаю вот так, разница есть?

frm.timer.min = 5 * value;
frm.timer.max = 15 * value;


забыл математику, извеняюсь
Ответить с цитированием
  #10 (permalink)  
Старый 06.01.2015, 17:24
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от porezon
Если сделаю вот так, разница есть?
Ну наверное есть. Если выбрать «обычная реклама» , то значение поля timer будет 0, мин = 0 и макс = 0, а если «мини реклама» то 5, 5 и 15 соответственно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с радио кнопками px379 Общие вопросы Javascript 8 29.07.2013 09:30
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47