Не удается исправить загрузку внешнего файла js

#javascript #html

#javascript #HTML

Вопрос:

У меня есть JS-файл для динамических всплывающих подсказок, если я использую коды с script тегом на HTML-странице, он работает. Но когда я использую script src тег, чтобы использовать его из источника, скрипт загружается, но когда я пытаюсь использовать всплывающие подсказки, они не работают. Это код JS

 var tooltips = document.querySelectorAll('.tooltip div');

window.onmousemove = function (e) {
    var x = (e.clientX   20)   'px',
        y = (e.clientY   20)   'px';
    for (var i = 0; i < tooltips.length; i  ) {
        tooltips[i].style.top = y;
        tooltips[i].style.left = x;
    }
};
  

Комментарии:

1. убедитесь, что внешний скрипт загружен / выполнен ПОСЛЕ завершения синтаксического анализа dom, в противном случае .tooltip div может не существовать (пока).

2. ваш скрипт пытается назначить до полной загрузки dom. посмотрите ответ @Steve Pitis

Ответ №1:

Запускайте этот скрипт только после рендеринга вашего HTML.

 window.onload = function() {
    var tooltips = document.querySelectorAll('.tooltip div');

    window.onmousemove = function (e) {
        var x = (e.clientX   20)   'px',
            y = (e.clientY   20)   'px';
        for (var i = 0; i < tooltips.length; i  ) {
            tooltips[i].style.top = y;
            tooltips[i].style.left = x;
        }
    };
}