Я нашел этот пример кода из здесь
Код такой:
<script>
$("#modal2Button").click(function() {
$("#modal1").fadeOut();
setTimeout(function() {
$("#modal2").fadeIn();
}, 400)
});
$("#close-button").click(function() {
setTimeout(function() {
$("#modal1").fadeIn();
$("#modal2").fadeOut();
}, 1000)
});
</script>
Когда я вставляю jQuery как отдельный файл и связываю его внутри <head>
<head>
<script src = "sample_code.js"></script>
</head>
а это почему-то не работает?
Любая помощь будет высоко оценена!
попробуйте проверить элемент на веб-странице, в браузере нажмите F12, чтобы открыть devtools, и попробуйте найти импортированный javascript, проверьте, доступен он или нет. если он недоступен, добавьте ./
перед именем файла.js Нравится src = "./sample_code.js"
@RobertCooper спасибо за вашу помощь, похоже, это путь, вызывающий проблему!
@DupinderSingh Спасибо, я попытался нажать F12, кажется, это лучший способ проверить, импортирован ли файл!
Да, определенно это не сработает, потому что элементы DOM еще не загружены, и вы обращаетесь к ним, поэтому это будет ошибка undefined id modal2Button
такая же для следующего.
Если вы запустите файл js, когда все элементы DOM будут загружены, проблем не возникнет.
Вы можете сделать это следующим образом:
async
или defer
в <script>
| примечания к сценарию | тег script - асинхронный и отложенныйonload
в вашем jsВы только что решили мой следующий вопрос! Мне нужно переместить тег в конец html, это проблема DOM! большое спасибо.
ваш ответ определенно объясняет очень хороший момент для новичка, такого как я, пожалуйста, помогите здесь
Это просто вопрос того, что вы используете правильный путь к вашему файлу JavaScript:
<head>
<script src = "./sample_code.js"></script>
</head>
Обратите внимание на ./
перед именем файла, который указывает, что файл находится на том же уровне, что и ваш HTML-файл.
Путь к файлу правильный? Если ваш JavaScript находится рядом с вашим файлом HTML, вам может понадобиться сделать
<script src = "./sample_code.js"></script>