2013-07-28 5 views
0

У моего приложения.html.erb есть простой скрипт для установки тайм-аута в течение 3 секунд и, в то же время, отображается gif. Но код не работает. Также gif работает нормально если они также используются в документе.Rails simple js не работает

Может кто-то сказать, что я делаю неправильно здесь.

##application.html.erb 
    <script>function hideLoading() { 
     $("#loading").hide(); 

    } 

    function showLoading() { 
       $("#loading").show(); 
      } 

    function dosomething() { 
     showLoading(); 
     setTimeout("hideLoading()", 3000); 
     return false; 
    } 
    </script> 

    </head> 
    <body> 
    <div id="loading"> 
     <img src="/assets/loading2.gif" alt="loading" /> 
    </div> 

    <%= yield %> 

    </body> 
    </html> 

ответ

0

Похоже, что вы определяете, но никогда не называя dosomething(), поэтому он никогда не запускается на выполнение (если вы еще не писал код, где он называется). В любом случае вы можете поместить случайный alert('foo'); в функцию dosomething(), чтобы проверить, выполняется ли она.

Если вы используете JQuery, это будет подходящим способом вызвать dosomething() как только загружается DOM:

$(document).ready(function() { 
    dosomething(); 
}); 
Смежные вопросы