Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   jquery перед загрузкой библиотеки (https://javascript.ru/forum/misc/40564-jquery-pered-zagruzkojj-biblioteki.html)

Toki 11.08.2013 03:13

jquery перед загрузкой библиотеки
 
Есть элементарный спойлер, но jquery подключается в конце страницы, так(естественно не работает):
<html>
<head>
<script>
jQuery(document).ready(function(){
	jQuery('.spoiler-content').hide()

	jQuery('.spoiler').click(function(){
		jQuery(this).toggleClass("close").toggleClass("open").next().toggle()
	})
})
</script>
</head>
<body>
...
<script type="text/javascript" src="jquery.js"></script>
</body>
</html>

Если подключить jquery в <head>, то всё гут. Как переделать спойлер так, чтобы работало независимо от того, где подключен jquery

ruslan_mart 11.08.2013 05:43

window.onload = function() {
    $('.spoiler-content').hide()
 
    $('.spoiler').click(function(){
        $(this).toggleClass("close").toggleClass("open").next().toggle()
    })
}

danik.js 11.08.2013 09:28

Toki, опусти скрипт спойлера ниже скрипта jQuery. Это элементарно, не?

Toki 11.08.2013 15:44

Цитата:

Сообщение от Ruslan_xDD (Сообщение 266900)
window.onload = function() {
    $('.spoiler-content').hide()
 
    $('.spoiler').click(function(){
        $(this).toggleClass("close").toggleClass("open").next().toggle()
    })
}

Не работает. В консоле ошибок нет. Спойлер просто всегда открыт.

danik.js
С удовольствием бы, но нельзя.

ruslan_mart 11.08.2013 15:46

window.addEventListener('DOMContentLoaded', function() {
    $('.spoiler-content').hide()
 
    $('.spoiler').click(function(){
        $(this).toggleClass("close").toggleClass("open").next().toggle();
    })
});

Toki 11.08.2013 16:08

Ruslan_xDD, спасибо огромное, все работает :)

danik.js 11.08.2013 16:15

Не плохо бы проинформировать что способ не работает в IE8

Deff 11.08.2013 16:41

Toki,
:) Или поставить на класс <div class="spoiler-content" style="display:none"

danik.js 11.08.2013 17:33

Deff, и как это поможет?

Deff 11.08.2013 17:41

Цитата:

Сообщение от danik.js
Deff, и как это поможет?

Поможет скрыть спойлер на начальном этапе до подключения скрипта после DOMContentLoaded
При всяких слайдерах и больших фонах так и будет точать открытым


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