![WebStorm не запускает jQuery во всплывающем окне Chrome](https://rvso.com/image/1605172/WebStorm%20%D0%BD%D0%B5%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D1%82%20jQuery%20%D0%B2%D0%BE%20%D0%B2%D1%81%D0%BF%D0%BB%D1%8B%D0%B2%D0%B0%D1%8E%D1%89%D0%B5%D0%BC%20%D0%BE%D0%BA%D0%BD%D0%B5%20Chrome.png)
Я использую WebStorm для создания веб-сайта и запускаю код, найденный на Overflow, чтобы проверить, подойдет ли он мне и соответствует ли моим целям.
HTML
<h2 class="quotes">first quote</h2>
<h2 class="quotes">second quote</h2>
CSS
.quotes {display: none;}
JavaScript
(function() {
var quotes = $(".quotes");
var quoteIndex = -1;
function showNextQuote() {
++quoteIndex;
quotes.eq(quoteIndex % quotes.length)
.fadeIn(2000)
.delay(2000)
.fadeOut(2000, showNextQuote);
}
showNextQuote();
})();
Это прекрасно работает на jsfiddle, на котором оно было запущено, но как только я импортировал его в WebStorm и запустил в Chrome, оно не работало. Есть какие-нибудь советы?
решение1
Вы пытаетесь получить элементы до того, как они существуют, поэтому quotes
размер массива равен 0. Попробуйте переместить <script>
тег вниз, например:
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://fonts.googleapis.com/css?family=Fugaz+One&display=swap" rel="stylesheet">
<meta charset="UTF-8">
<title>Purple Reign</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" href="pvphs.css">
</head>
<body><h2 class="quotes">first quote</h2>
<h2 class="quotes">second quote</h2>
<script src="pvphs.js"></script>
</body>
</html>