Домой WordPress WordPress: Проблемы и решения Проблемы с подключением скрипта красивых переходов страниц.
19ответ(ов) в теме
evgeniy.zimnik
не в сети 6 лет
На сайте с 13.03.2018
Участник
Тем 1
Сообщения 8
1
19:54

Есть скрипт:

<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>

Не работает.

Должно работать следующим образом (нажимайте на ссылки):

Вы не можете просматривать опубликованные ссылки

Вот источник:

Вы не можете просматривать опубликованные ссылки

Хочу чтобы аккуратно сайт прогружался, без стилевых масштабируемых догрузок.
В чём может быть проблема ?

Редакции сообщения
13.03.2018 20:10Андрей CSПричина: не указано
0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
20:07

а где сам пациент?

0
evgeniy.zimnik
не в сети 6 лет
На сайте с 13.03.2018
Участник
Тем 1
Сообщения 8
3
20:24

Otshelnik-Fm сказал(а)
а где сам пациент?

Пожалуйста

Вы не можете просматривать опубликованные ссылки
0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
4
20:33

mve.js у вас не загружается. Начинайте с этого - проверяйте путь до него который указываете. Пока этого скрипта нету

Редакции сообщения
13.03.2018 20:33Otshelnik-FmПричина: не указано
0
evgeniy.zimnik
не в сети 6 лет
На сайте с 13.03.2018
Участник
Тем 1
Сообщения 8
5
20:36

/js/mve.js

В смысле не загружается ? Вот же:

Вы не можете просматривать опубликованные ссылки
0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
6
20:42

ну значит вы знаете больше меня

Вы не можете просматривать опубликованные ссылки

я тут не помощник

0
evgeniy.zimnik
не в сети 6 лет
На сайте с 13.03.2018
Участник
Тем 1
Сообщения 8
7
20:43

Otshelnik-Fm сказал(а)
ну значит вы знаете больше меня

Вы не можете просматривать опубликованные ссылки

я тут не помощник

А за $ ?

0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
8
20:44

у вас не подключен указанный файл, его надо размещать в папке js внутри папки используемой темы

0
SAZONISCHE
не в сети 2 года
На сайте с 20.07.2017
Участник
Тем 17
Сообщения 211
9
20:54

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

0
evgeniy.zimnik
не в сети 6 лет
На сайте с 13.03.2018
Участник
Тем 1
Сообщения 8
10
21:03

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

Пара слайдбаров пропадает и как-то с рывком подгружается.

0
SAZONISCHE
не в сети 2 года
На сайте с 20.07.2017
Участник
Тем 17
Сообщения 211
11
21:05

короче надо linkLocation правильно замутить, я хз что там в вп заставляет ее себя так вести

0
evgeniy.zimnik
не в сети 6 лет
На сайте с 13.03.2018
Участник
Тем 1
Сообщения 8
12
21:06

SAZONISCHE сказал(а)
короче надо linkLocation правильно замутить, я хз что там в вп заставляет ее себя так вести

Попробую потестировать.

0
SAZONISCHE
не в сети 2 года
На сайте с 20.07.2017
Участник
Тем 17
Сообщения 211
13
21:08

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
}

хотя мне кажется на вп такое не сделать, надо много переделать чтоб заставить все ето грузиться первым в самой теме как минимум, я в етом не знаток

Редакции сообщения
13.03.2018 21:11SAZONISCHEПричина: не указано
0
evgeniy.zimnik
не в сети 6 лет
На сайте с 13.03.2018
Участник
Тем 1
Сообщения 8
14
21:20

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 появляется, потом исчезает и снова появляется. Можно ли как-то исключить первое появление до загрузки страницы ?

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
15
21:38

evgeniy.zimnik сказал(а)
Можно ли как-то исключить первое появление до загрузки страницы ?

этот вопрос задавайте автору скрипта или урока. В каментах тоже обсуждают подобное. Все потому что доп скрипт ожидает событие .ready(function() - а оно отрабатывает как jquery скажет - все я загрузился, готов работать. Понятное дело что и отрабатывает пока не дождется команды.

Тут не очень хорошее решение вы нашли. Можно как хак выкинуть этот доп скрипт и display:none прописать напрямую в верстку к body. Но тут правильно высказались - если у вас скрипт однажды конфликт поймает (любой jquery скрипт) или юзер будет без поддержки js (таких почти нет) - то страницу они не увидят. Я бы делал без скриптов - на обычной css анимации. Так в своих дополнениях и делаю когда плавно надо их запустить.

1
SAZONISCHE
не в сети 2 года
На сайте с 20.07.2017
Участник
Тем 17
Сообщения 211
16
21:39

В самом начале ты просил сделать чтоб скрипты заробили, как сделать такое для вп тут надо подумать, я точно без понятия.
Так же делать ето на все <a> тож непрально при нажатии на вкладки или еше что заодоно будет подтягиваться етот эффект

Редакции сообщения
13.03.2018 21:40SAZONISCHEПричина: не указано
0
evgeniy.zimnik
не в сети 6 лет
На сайте с 13.03.2018
Участник
Тем 1
Сообщения 8
17
21:40

Otshelnik-Fm сказал(а)

evgeniy.zimnik сказал(а)
Можно ли как-то исключить первое появление до загрузки страницы ?

этот вопрос задавайте автору скрипта или урока. В каментах тоже обсуждают подобное. Все потому что доп скрипт ожидает событие .ready(function() - а оно отрабатывает как jquery скажет - все я загрузился, готов работать. Понятное дело что и отрабатывает пока не дождется команды.

Тут не очень хорошее решение вы нашли. Можно как хак выкинуть этот доп скрипт и display:none прописать напрямую в верстку к body. Но тут правильно высказались - если у вас скрипт однажды конфликт поймает (любой jquery скрипт) или юзер будет без поддержки js (таких почти нет) - то страницу они не увидят. Я бы делал без скриптов - на обычной css анимации. Так в своих дополнениях и делаю когда плавно надо их запустить.

Ясно.Большое спасибо.

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
18
21:40

Урок создан: 24 Февраля 2010

- ну вот и ответ почему спустя 8 лет пора забыть его.
лучше использовать css анимации

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
19
21:52

1. пишем в html к body opacity:0
2. анимацией, используя animation-delay ждем секунду-две (экспериментальное время - сами смотрим в среднем отрисовывается вся страница за сколько) и запускаем keyframe. В нем просто ставим на 100% opacity:1

3. но можно и скриптом подстраховаться - если страница раньше загрузилась (как раз .ready - метод в jquery отработал), а css еще не поменял свое значение - то переключаем на jquery видимость. Я 3-й пункт никогда не делал

Вы не можете просматривать опубликованные ссылки

- вот тут подсмотреть можно на верхней панели и боковые элементы - они все в разное время проявляются.

1
Вы не имеете права на публикацию сообщений в этой теме