Как использовать функцию загрузки в JQuery? - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть кнопка, которую я хочу установить время, но для функции, которую я должен определить для элемента тела, чтобы код работал, она отлично работает с простым js, но выдает ошибку, когда я использую jQuery

<body onload="startTime()">
<input type="text" id="timer">

$(document).ready(function(){
function startTime(){
     var  date = new Date();
     var h = date.getHours();
     var m = date.getMinutes();
      var  s = date.getSeconds();
     $('#timer').val(h + ':' + m + ':' + s);
var t = setTimeout(startTime, 500);
}
}); 

** ну, я не думаю, что я сделал что-то не так, но консоль выдает undefined startTime at index.html **

Я не знаю, определяю ли нагрузку тела внутри функции готовности или как?Пожалуйста, помогите мне ... Я новичок в jQuery и не знаю, как это исправить

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Теперь вы также можете использовать

$(function () {
  //Your code or methods
});

Таким образом, ваш код будет

$(function(){
  startTime();
});

 function startTime() {
    var date = new Date();
    var h = date.getHours();
    var m = date.getMinutes();
    var s = date.getSeconds();
    $('#timer').val(h + ':' + m + ':' + s);
    var t = setTimeout(startTime, 500);
  }
0 голосов
/ 24 сентября 2018

Либо определите функцию глобально (за пределами ready), либо избавьтесь от onload и вызовите функцию внутри ready.Также обратите внимание, что это new Date не new date

$(document).ready(function() {
  function startTime() {
    var date = new Date();
    var h = date.getHours();
    var m = date.getMinutes();
    var s = date.getSeconds();
    $('#timer').val(h + ':' + m + ':' + s);
    var t = setTimeout(startTime, 500);
  }

  startTime();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="timer">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...