Здравствуйте, Хочу сделать такое на странице есть две картинки и 2 радиобокса (или больше), на радиобоксах время ( например на первом 10 минут на втором 1 час), выбираешь какой то радиобокс и кликаешь по картинке, когда ты кликаешь запускается таймер и рядом или вверху страницы появлялось текстовое поле (или что то другое) с временем обратного отсчета, когда таймер доходит до 0 картинка меняется на другую (например когда таймер не запущен квадрат желтый, после запуска он стает красным и когда таймер 0 он стает зеленым, но когда нажать на зеленый квадрат от должен превратится в желтый(вернутся в начальное положение)) также надо записывать в базу количество раз срабатывания таймера (пользователь запускает таймер ждет когда выйдет время и после этого когда он жмет таймер должен обнулится и в поле в базе надо добавить +1 срабатывание таймера) помогите пожалуйста с реализацией такой идеи.
Очевидно эта магия должна происходить на стороне клиента — то есть должен работать JavaScript. Переношу тему. Добавлено спустя 1 минуту 59 секунд: Ты хотябы попытайся что-то сделать. На форуме помогают тем, кто сам себе помогает. Сверстай статическую страничку для начала — так как она по твоему должна выглядеть. Потом поищи как в JS программируется таймер…
сделал такое Код (Text): <div align="center"> <p> <span id="clock1" style="width:450px; font-size:10px"></span> </p> </div> <script type="text/javascript"> <!-- var hour0=0; var min0=0; var sec0=0; var timeId=null; function form2 (v) { return (v<10?'0'+v:v); } function changetime() { sec0--; if (sec0<0) { sec0=59; min0--; if (min0<0) { min0=59; if (hour0>0) hour0--; else { hour0=min0=sec0=0; } } } } function showtime () { var t=hour0*3600+min0*60+sec0; if (t>0) { document.getElementById('clock1').innerHTML = form2(hour0)+':'+form2(min0)+':'+form2(sec0); changetime(); window.setTimeout("showtime();",1000); } else if (t<1) { document.getElementById('clock1').innerHTML = ''; window.clearTimeout (timeID); } } function inittime (hour,min,sec) { hour0=Math.max(hour,0); min0=Math.max(min,0); sec0=Math.max(sec,0); timeID=window.setTimeout("showtime();",1000); } // --> </script> <script type="text/javascript"> function generate_list (name,min,step,max,deft) { document.writeln ('<select name="'+name+'" size="1">'); for (var i=min; i<=max; i+=step) { document.write ('<option value="'+i+'"'); if (i==deft) { document.write (' selected'); } document.writeln ('>'+(i<10?'0'+i:i)+'</option>'); } document.writeln ('</select>'); } </script> <div align="center"> <form name="f1"> <table align="center" width="90%" border="0" cellpadding="4" cellspacing="0"><tr> <td>Hour: <script type="text/javascript">generate_list ('hour0',0,1,50,1);</script></td> <td>Minute: <script type="text/javascript">generate_list ('min0',0,1,59,0);</script></td> <td>Second: <script type="text/javascript">generate_list ('sec0',0,1,59,0);</script></td> <td><input type="button" value="Start" onclick="inittime( document.f1.hour0.options[document.f1.hour0.selectedIndex].value, document.f1.min0.options[document.f1.min0.selectedIndex].value, document.f1.sec0.options[document.f1.sec0.selectedIndex].value);"></td> </tr></table> </form> </div> но так как мне надо картинку вместо кнопки Код (Text): <table align="left" width="90%" border="1" cellpadding="4" cellspacing="0"> <tr><input type="radio" name="1" value="0,1,0"> 1 Min<</tr> <tr><input type="radio" name="2" value="0,10,0"> 10 Min<br></tr> <tr><input type="image" src="img/yellow.jpg" alt="Click!" onClick="inittime();"></tr> </table> есть проблемы 1. не работает onClick (после нажатия в строке ввода вижу координаты в виде GET запроса) 2. так и не получилось в onClick="inittime();" вставить параметры выделенного radio 3. таймер на работает после рефреша страницы.
А ты понимаешь как твой код работает? Может таймер заменить на что-то по проще чтобы проверить код с получением всех данных для него. Просто перепиши вдумчиво код с нуля и следи чтобы было понятно что и как работает. Наращивай функционал постепенно и проверяй всё. Почитай как в google chrome можно делать debug javascript