2016-04-29 7 views
4

Я пытаюсь создать веб-страницу, похожую на монитор работоспособности, и мне нужно создать генератор случайных чисел, который будет действовать как монитор сердца. Вот что у меня есть:Создание генератора случайных чисел в HTML

<?php 

function functionName() 
{ 
    return rand(5, 15); 
} 

?> 

<html> 
<body> 

<?php 

    $i = 0; 

while ($i <= 10) 
{ 
    echo functionName(); 
    echo "</br>"; 
    $i++; 
} 

?> 


</body> 
</html> 

Проблема заключается в том, что номер печатается один за другим, и мне нужно их просто показать в том же месте, но быть разными. Другими словами, если у меня есть раздел, в котором говорится «Heart Best Per Seconds:», мне понадобится новый номер, который появится там каждые несколько секунд вместо другого.

Кто-нибудь знает, как это сделать? Я видел подобные вещи, поэтому я уверен, что это выполнимо.

+3

Вы помечено это с JavaScript, поэтому попробовать его. Взгляните на setInterval. – rjdown

+0

Поскольку вы отметили его 'jquery', вы можете смешать [' jQuery.get'] (https://api.jquery.com/jquery.get/) и ['setTimeout'] (https: //developer.mozilla. org/en-US/docs/Web/API/WindowTimers/setTimeout), добавив простое ' 'серверная сторона в качестве ответа. – Benio

+0

Не имеет смысла делать это в PHP. Просто сделайте таймер в JS, который выплевывает случайное число и устанавливает его в тег html. – Slime

ответ

3

setInterval(function() { 
 
    var i = Math.floor(Math.random() * (15 - 5 + 1)) + 5; 
 
    document.getElementById("random").innerHTML = i; 
 
}, 1000);
<span id="random"></span>

этого может быть? с использованием Math.random(); и setInterval()

+0

@FortunaIwasaki, вы должны использовать это, если хотите быть свободным от PHP. –

+0

@Amin Gharavi Почему не var i = Math.floor (Math.random() * 15) + 1; ? –

+0

@ RobertoSepúlvedaBravo 'Math.random()' дает вам число от 0 до 1 с исключением 1, поэтому ваш номер всегда меньше единицы. скажем, ваш номер равен 0, тогда результат вашего var равен (0 * 15) +1, который равен 1. –

0

Чтобы выполнить то, что вы хотите, вам может потребоваться сочетание JavaScript JQuery и PHP. Для начала, создайте файл, randomnumber.php

<?php 
die(rand(5,15)); 
?> 

и на вашем index.php

<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> <!-- load JQuery from Google CDN --> 
    </head> 
    <body> 
     <h2 id="randomNumber"></h2> 
    </body> 
    <script> 
    function getRandom() { 
     setInterval(function() { 
      $("#randomNumber").load("randomNumber.php"); 
     }, 3000) // delay in milliseconds 
    } 
    getRandom(); 
    </script> 
</html> 
0

Вы можете сгенерировать случайные числа, используя Math.random().

Пронумеруйте число до ближайшего целого числа, используя Math.floor().

И используйте setInterval() для запуска функции с определенным интервалом.

setInterval(function() { 
 
    var i = Math.floor(Math.random() * (15 - 5 + 1)) + 5; 
 
    document.getElementById("hbeat").innerHTML = 'Heart Beat Per Seconds : ' + i; 
 
}, 1000);
<span id="hbeat"></span>

+0

Если вы посмотрите на php с помощью 'rand (5, 15)'. [rand] (http://php.net/manual/en/function.rand.php) возвращает случайный int между 5 и 15, поэтому я использовал 'Math.floor (Math.random() * (15 - 5 + 1)) + 5; ' –

Смежные вопросы