Подскажите script

Discussion in 'PHP' started by Gerzer, 21 Apr 2012.

  1. Gerzer

    Gerzer Banned

    Joined:
    16 Apr 2012
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    Доброго времени суток, ребята помогите кто знает. Лично пишу сайт, и нужен "счетчик". Т.е интересует скрипт/код который выполняет ф-ю деление (а именно переводит Год/день/минуты/секунды)
    Сам скрипт вот:
    PHP:
    <title>output</title>   </head>   <body>   <form>   <p>Сколько лет ?: <input type="number" name="cm" autofocus="autofocus" /></p>   <p>Дней: <output name="result"    onforminput="this.value=(this.form.cm.value/2.54).toFixed(2)">0</output></p>  <p>Часов: <output name="result"    onforminput="this.value=(this.form.cm.value/2.54).toFixed(2)">0</output></p>  <p>Секунд: <output name="result"    onforminput="this.value=(this.form.cm.value/2.54).toFixed(2)">0</output></p>   </form>   </body>  </html>
    Интересует (ф-я обчисление)
    Кто знает - подскажите пожалуйста, буду благодарен.
     
  2. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    140
    Reputations:
    4
    Жесть какая то. ты бы хоть переделал исходик . и еще кстати неплохо форматировать свой код. благо его не много. а что ты будешь делать когда там будет больше ? тоже в одну строку все писать. а что по сабжу. то вместо
    this.form.cm.value/2.54).toFixed(2)
    что то типа
    this.form.cm.value/день/минуты/секунды)
    а если нет то как спросил так я и ответил. name="cm" замени на name="years" и тогда
    this.form.years.value/день/минуты/секунды)
    судя по всему исходник взят с htmlbook.ru и переводит сантиметры в дюймы. я прав ?
    this.form.cm.value означает взять значение из этой формы из поля с именем cm. но если честно говоря вписывать javascript в элементы это не очень подход. лучше выносить его в head документа и навешивать обработчики событий на onchange элементам. я бы взял jquery и сделал так
    Code:
    <form>
    
       <p>Введите кол во лет <input type="number" id ="input"name="years" autofocus="autofocus" /></p>
    
       <p>фиг его знает что это ты высчитываешь: <output name="result" id="output"  >0</output></p>
    
      </form>
    <script type="text/javascript">
    
    $(function() {
    $("#input").change(function(){
    var years = $(this).val();
    var result = years/день/минуты/секунды;
    $("#output").val(result);
    });});
    </script>
    как то так.
    ps. если скриптов много то выноси их в отдельные файлы и подлючай.
    ps. используя свои экстрасенсорые способности :) предположу что ты хочешь высчитать кол-во секунд которые содержатся в кол-ве введеных лет. тогда тебе надо var result = years*день*минуты*секунды; по помни что есть весокосные года. если хочешь без погрешностей то посмотри поодержку дат javascript. очень мощно. но стоит ли этот скрипт такого костыля я не знаю. хотя помоему тут кто то уже не так давно считал секунды в годах без погрешности.
     
    #2 barnaki, 22 Apr 2012
    Last edited: 22 Apr 2012
  3. Gerzer

    Gerzer Banned

    Joined:
    16 Apr 2012
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    Да, ты прав, спасибо - помог.
     
  4. scanislav

    scanislav Elder - Старейшина

    Joined:
    25 Jun 2010
    Messages:
    87
    Likes Received:
    22
    Reputations:
    31
    На всяк случай, перевод лет-месяцев-дней-часов-минут-секунд в секунды в Джаваскрипте:

    Code:
    var s = new Date(year, month, day, hour, minute, second)/1000;
    а можно и в миллисекунды
    Code:
    var ms = +new Date(year, month, day, hour, minute, second, millisecond);