Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   подключения скрипта (https://javascript.ru/forum/dom-window/42448-podklyucheniya-skripta.html)

simiuss 27.10.2013 00:35

подключения скрипта
 
я новичок...
мой вопрос вот в чем--почему если я скрипт заключаю между тегами <body><script>....</script></body> он у меня работает но если я вывожу его в отдельный файл и подключаю через
<head>
...
<script src="moiscript.js"></script>
...
</head>
то он у меня не пашет, почему и как можно решить это????

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>mouseenter demo</title>
  <style>
  div.out {
    width: 40%;
    height: 120px;
    margin: 0 15px;
    background-color: #d6edfc;
    float: left;
  }
  div.in {
    width: 60%;
    height: 60%;
    background-color: #fc0;
    margin: 10px auto;
  }
  p {
    line-height: 1em;
    margin: 0;
    padding: 0;
  }
  </style>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="moiscript.js"></script> 
</head>
<body>
 
<div class="out overout">
  <p>move your mouse</p>
  <div class="in overout"><p>move your mouse</p><p>0</p></div>
  <p>0</p>
</div>
 
<div class="out enterleave">
  <p>move your mouse</p>
  <div class="in enterleave"><p>move your mouse</p><p>0</p></div>
  <p>0</p>
</div>
 
<script>
var i = 0;
$( "div.overout" )
  .mouseover(function() {
    $( "p:first", this ).text( "mouse over" );
    $( "p:last", this ).text( ++i );
  })
  .mouseout(function() {
    $( "p:first", this ).text( "mouse out" );
  });
 
var n = 0;
$( "div.enterleave" )
  .mouseenter(function() {
    $( "p:first", this ).text( "mouse enter" );
    $( "p:last", this ).text( ++n );
  })
  .mouseleave(function() {
    $( "p:first", this ).text( "mouse leave" );
  });
</script>
 
</body>
</html>

danik.js 27.10.2013 07:01

Цитата:

Сообщение от Poznakomlus
хороший вариант подключить все одним файлом перед </body>

Этого было бы достаточно. Простой и практически беспроблемный вариант.
Poznakomlus, асинхронность тут зачем? Чтобы не задерживать DOMContentLoaded событие?
И на заметку - вместо setAttribute лучше указывать свойства напрямую: script.src = ..., script.type = ..., script.async = ...


Часовой пояс GMT +3, время: 14:03.