2014-11-12 2 views
1

мой код работает в jsfiddle, но не работает в браузере. Я не знаю, что я пропустил здесь, не могли бы вы проверить его и сказать мне решение. я Google его, но я не получаю правильное решение, пожалуйста, помогите мне это jsfiddle ссылку http://jsfiddle.net/pLTrJ/9/Код javascript, работающий в jsfiddle, но не работающий в браузере

<!doctype html> 
    <html> 
     <head> 
     <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"> </script> 
     </head> 
     <script type="text/javascript"> 
     var random = 0; 
     var theDiv = document.getElementById("showVal"); 
     updateTheDiv(9,0); 
     function updateTheDiv(inRange, inMin) { 
     random = (Math.random()*inRange+inMin)|0; 
     theDiv.innerHTML = random; 
     var nextCall = (Math.random()*1000)|0; 
     setTimeout(function() { 
     updateTheDiv(inRange, inMin); 
      }, nextCall); 
     } 
     </script> 
     <body> 
      <div id="showVal"></div> 
     </body> 
    </html> 
+0

Есть ли ошибки в консоли? Каков ваш ожидаемый результат? – Andy

+0

Не используйте http://code.jquery.com/jquery-latest.min.js, он всегда будет ссылаться на jquery 1.11.1! Прочитайте это: http://stackoverflow.com/questions/441412/is-there-a-link-to-the-latest-jquery-library-on-google-apis – Refilon

+0

@ Вы можете проверить эту ссылку http: // jsfiddle.net/pLTrJ/9/ – rizwan

ответ

4

jsfiddle обернул его автоматически в случае onload. Вы не сделали этого на своей HTML-странице, поэтому, когда он запускается в браузере, вы пытаетесь заполучить div до его отображения, поэтому theDiv имеет значение null.

Ниже должно работать:

<!doctype html> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"> </script> 
</head> 
<script type="text/javascript"> 
    window.onload = function() { 
     var random = 0; 
     var theDiv = document.getElementById("showVal"); 
     updateTheDiv(9, 0); 
     function updateTheDiv(inRange, inMin) { 
      random = (Math.random() * inRange + inMin) | 0; 
      theDiv.innerHTML = random; 
      var nextCall = (Math.random() * 1000) | 0; 
      setTimeout(function() { 
       updateTheDiv(inRange, inMin); 
      }, nextCall); 
     } 
    } 
</script> 
<body> 
    <div id="showVal"> 
    </div> 
</body> 
</html> 
+0

Вы также можете указать '$ (document) .ready();', в соответствии с использованием jquery. – SBI

+0

Я мог бы, но единственная ссылка на jQuery - это включенный скрипт - на самом деле он нигде не использовался и не помечен в вопросе –

+0

@JamesThorpe благодарит вас так много james, я получил его, но одна вещь я не понял, что вы имеете в виду $ (документ) .ready(); – rizwan

0

Попробуйте это в вашем браузере;)

<!doctype html> 
<html> 
    <head> 
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"> </script> 
    </head> 

    <body> 
     <div id="showVal"></div> 
    </body> 


<script type="text/javascript"> 
    var random = 0; 
    var theDiv = document.getElementById("showVal"); 
    updateTheDiv(9,0); 
    function updateTheDiv(inRange, inMin) { 
    random = (Math.random()*inRange+inMin)|0; 
    theDiv.innerHTML = random; 
    var nextCall = (Math.random()*1000)|0; 
    setTimeout(function() { 
    updateTheDiv(inRange, inMin); 
     }, nextCall); 
    } 
    </script> 
</html> 

(я просто положить сценарий на дно Так загружает скрипт после вашего элемента установлен..)

+0

Я попробовал ответить на james, он отлично работает, ваше решение также отлично работает. Большое спасибо – rizwan

+0

. Добро пожаловать. Его решение лучше, чем мое. :-) –

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