Есть скрипт:
<script type="text/javascript"> $(document).ready(function() { $("body").css("display", "none"); $("body").fadeIn(2000); $("a").click(function(event){ event.preventDefault(); linkLocation = this.href; $("body").fadeOut(1000, redirectPage); }); function redirectPage() { window.location = linkLocation; } }); </script>
Подключаю через functions.php:
function mve_scripts() { wp_enqueue_script( 'mve', get_template_directory_uri(). '/js/mve.js', array (jquery), false, false ); } add_action('wp_enqueue_scripts', 'jquery_init', 'mve_scripts');
В header.php пытался добавлять и исключать:
<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
Не работает.
Должно работать следующим образом (нажимайте на ссылки):
Вот источник:
Хочу чтобы аккуратно сайт прогружался, без стилевых масштабируемых догрузок.
В чём может быть проблема ?
evgeniy.zimnik сказал(а)
Otshelnik-Fm сказал(а)
ну значит вы знаете больше меняВы не можете просматривать опубликованные ссылкия тут не помощник
А за $ ?
Для начала хотяб так
add_action('wp_head', 'display_load', 20); function display_load() { ?> <script type="text/javascript"> jQuery(document).ready(function() { jQuery("body").css("display", "none"); jQuery("body").fadeIn(2000); jQuery("a").click(function(event){ event.preventDefault(); linkLocation = this.href; jQuery("body").fadeOut(1000, redirectPage); }); function redirectPage() { window.location = linkLocation; } }); </script> <?php }
и то надо будет править redirectPage
SAZONISCHE сказал(а)
evgeniy.zimnik сказал(а)
Otshelnik-Fm сказал(а)
ну значит вы знаете больше меняВы не можете просматривать опубликованные ссылкия тут не помощник
А за $ ?
Для начала хотяб так
add_action('wp_head', 'display_load', 20); function display_load() { ?> <script type="text/javascript"> jQuery(document).ready(function() { jQuery("body").css("display", "none"); jQuery("body").fadeIn(2000); jQuery("a").click(function(event){ event.preventDefault(); linkLocation = this.href; jQuery("body").fadeOut(1000, redirectPage); }); function redirectPage() { window.location = linkLocation; } }); </script> <?php }
и то надо будет править redirectPage
Пара слайдбаров пропадает и как-то с рывком подгружается.
evgeniy.zimnik сказал(а)
SAZONISCHE сказал(а)
короче надо linkLocation правильно замутить, я хз что там в вп заставляет ее себя так вестиПопробую потестировать.
боди сделай черным цветом background-color: #111;
add_action('wp_head', 'display_load', 10); function display_load() { ?> <script type="text/javascript"> jQuery(document).ready(function() { jQuery("body").css("display", "none"); jQuery("body").fadeIn(2000); }); </script> <?php }
хотя мне кажется на вп такое не сделать, надо много переделать чтоб заставить все ето грузиться первым в самой теме как минимум, я в етом не знаток
SAZONISCHE сказал(а)
evgeniy.zimnik сказал(а)
SAZONISCHE сказал(а)
короче надо linkLocation правильно замутить, я хз что там в вп заставляет ее себя так вестиПопробую потестировать.
боди сделай черным цветом background-color: #111;
add_action('wp_head', 'display_load', 10); function display_load() { ?> <script type="text/javascript"> jQuery(document).ready(function() { jQuery("body").css("display", "none"); jQuery("body").fadeIn(2000); }); </script> <?php }хотя мне кажется на вп такое не сделать, надо много переделать чтоб заставить все ето грузиться первым в самой теме как минимум, я в етом не знаток
Добавил. Как-то криво получается: содержимое сайта body появляется, потом исчезает и снова появляется. Можно ли как-то исключить первое появление до загрузки страницы ?
evgeniy.zimnik сказал(а)
Можно ли как-то исключить первое появление до загрузки страницы ?
этот вопрос задавайте автору скрипта или урока. В каментах тоже обсуждают подобное. Все потому что доп скрипт ожидает событие .ready(function()
- а оно отрабатывает как jquery скажет - все я загрузился, готов работать. Понятное дело что и отрабатывает пока не дождется команды.
Тут не очень хорошее решение вы нашли. Можно как хак выкинуть этот доп скрипт и display:none прописать напрямую в верстку к body. Но тут правильно высказались - если у вас скрипт однажды конфликт поймает (любой jquery скрипт) или юзер будет без поддержки js (таких почти нет) - то страницу они не увидят. Я бы делал без скриптов - на обычной css анимации. Так в своих дополнениях и делаю когда плавно надо их запустить.
В самом начале ты просил сделать чтоб скрипты заробили, как сделать такое для вп тут надо подумать, я точно без понятия.
Так же делать ето на все <a>
тож непрально при нажатии на вкладки или еше что заодоно будет подтягиваться етот эффект
Otshelnik-Fm сказал(а)
evgeniy.zimnik сказал(а)
Можно ли как-то исключить первое появление до загрузки страницы ?этот вопрос задавайте автору скрипта или урока. В каментах тоже обсуждают подобное. Все потому что доп скрипт ожидает событие
.ready(function()
- а оно отрабатывает как jquery скажет - все я загрузился, готов работать. Понятное дело что и отрабатывает пока не дождется команды.Тут не очень хорошее решение вы нашли. Можно как хак выкинуть этот доп скрипт и display:none прописать напрямую в верстку к body. Но тут правильно высказались - если у вас скрипт однажды конфликт поймает (любой jquery скрипт) или юзер будет без поддержки js (таких почти нет) - то страницу они не увидят. Я бы делал без скриптов - на обычной css анимации. Так в своих дополнениях и делаю когда плавно надо их запустить.
Ясно.Большое спасибо.
1. пишем в html к body opacity:0
2. анимацией, используя animation-delay ждем секунду-две (экспериментальное время - сами смотрим в среднем отрисовывается вся страница за сколько) и запускаем keyframe. В нем просто ставим на 100% opacity:1
3. но можно и скриптом подстраховаться - если страница раньше загрузилась (как раз .ready - метод в jquery отработал), а css еще не поменял свое значение - то переключаем на jquery видимость. Я 3-й пункт никогда не делал
- вот тут подсмотреть можно на верхней панели и боковые элементы - они все в разное время проявляются.