@AsdfAsdfSK

Как вызвать код функции?

Доброго времени суток. Появилась проблемка:
У меня есть функция,которая выполняет запрос на сервер и загружает скрипт на страницу:
let w=window;
                w.onload=function(){
                    const xhr = new XMLHttpRequest()

                    xhr.open('GET', 'test.js', true)
                    xhr.onreadystatechange = function () {
                        if (xhr.readyState != 4) return;

                        if (xhr.status != 200) {
                            alert(xhr.status + xhr.statusText)
                        } else {

                            let add=window.document.getElementsByTagName('script')[0]

                            var script=window.document.createElement('script');

                            script.src='test.js'

                            add.parentNode.insertBefore( script, add )

                            alert(xhr.responseText)//Нужно,что бы выводило сам код файла,а не его текст
                        }


                    }

                    xhr.send(null)
                }


Соответственно в строке alert(xhr.responseText) я вызываю текст данного файла,в то время как мне нужно вызывать его код.Как это можно реализовать? Пробовал через eval(),но не вышло.
Вообщем и целом изначально я пытался реализовать следующую задачу:
При скролле страницы до определенного блока в текстовых элементах этого блока должна рисоваться анимация. Саму функцию анимации я реализовал.Так же реализовал то,что она срабатывает,дойдя до n места,однако запутался с тем моментом,что функция должна вызываться сама,в нужный момент,а не только тогда,когда я ресетаю страницу на n месте. Посему взялся за изучение Аякса.И запутался.
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Оберните код функции и вставьте его сразу в документ, не надо AJAX:
const mySuperAnimationFunction = () => {

// тут весь "код функции"

}

И когда нужно выполнить анимацию - доскроллили до места - вызывайте её: mySuperAnimationFunction();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы