Перейти к содержимому


Поругались Jquery Библиотеки


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 Stanislav

Stanislav

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 207 сообщений

Отправлено 01 Декабрь 2013 - 23:10

В общем поставил одну плюшку себе в магазин (мимо не пройдете) и возникла проблема. Она поругалась со слайдером. Либо не работает слайдер, либо плюшка неверно фурычит. Почитав чуток понял, что без знаний - дело гиблое, хотя попробовал решить проблему этим ноконфликтом, но он только окончательно отключил вторую библиотеку м все. Помогите плз

#2 Stanislav

Stanislav

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 207 сообщений

Отправлено 01 Декабрь 2013 - 23:52

сразу покажу, что я пытался подключить

<link rel="stylesheet" href="http://megascripts.ru/demo/new_year_motnya/style.css">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type="text/javascript" src="http://megascripts.ru/demo/new_year_motnya/swfobject.min.js"></script>

<script type="text/javascript" src="http://megascripts.ru/demo/new_year_motnya/newyear.js"></script>

Ну я вот собссно, если выкинуть jQ, то колбасить сайт прекращает, но и плюшка не работает, а если оставляем, то слетает не только слайдер, но и добрая половина скриптов за ним


241150

#3 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 03 Декабрь 2013 - 06:06

Попробуйте сделать следующее - удалите подключение

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

после замените содержимое файла newyear.js на следующий код

$(function () {
	var d = function () {};
	$(".b-ball_bounce").live("mouseenter", function () {
		b(this);
		m(this)
	})
$(".b-ball_bounce .b-ball__right").live("mouseenter", function (i) {
		i.stopPropagation();
		b(this);
		m(this)
	});
	function f() {
		var i = "http://megascripts.ru/demo/new_year_motnya/ny2012.swf";
		i = i + "?nc=" + (new Date().getTime());
		swfobject.embedSWF(i, "z-audio__player", "1", "1", "9.0.0", null, {}, {
			allowScriptAccess: "always",
			hasPriority: "true"
		})
	}
	function h(i) {
		if ($.browser.msie) {
			return window[i]
		} else {
			return document[i]
		}
	}
	window.flashInited = function () {
		d = function (j) {
			try {
				h("z-audio__player").playSound(j)
			} catch (i) {}
		}
	};
	if (window.swfobject) {
		window.setTimeout(function () {
			$("body").append('<div class="g-invisible"><div id="z-audio__player"></div></div>');
			f()
		}, 100)
	}
	var l = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "\\"];
	var k = ["z", "x", "c", "v", "b", "n", "m", ",", ".", "/"];
	var g = 36;
	var a = {};
	for (var e = 0, c = l.length; e < c; e++) {
		a[l[e].charCodeAt(0)] = e
	}
	for (var e = 0, c = k.length; e < c; e++) {
		a[k[e].charCodeAt(0)] = e
	}
	$(document).keypress(function (j) {
		var i = $(j.target);
		if (!i.is("input") && j.which in a) {
			d(a[j.which])
		}
	});
	function b(n) {
		if (n.className.indexOf("b-ball__right") > -1) {
			n = n.parentNode
		}
		var i = /b-ball_n(\d+)/.exec(n.className);
		var j = /b-head-decor__inner_n(\d+)/.exec(n.parentNode.className);
		if (i && j) {
			i = parseInt(i[1], 10) - 1;
			j = parseInt(j[1], 10) - 1;
			d((i + j * 9) % g)
		}
	}
	function m(j) {
		var i = $(j);
		if (j.className.indexOf(" bounce") > -1) {
			return
		}
		i.addClass("bounce");
		function n() {
			i.removeClass("bounce").addClass("bounce1");
			function o() {
				i.removeClass("bounce1").addClass("bounce2");
				function p() {
					i.removeClass("bounce2").addClass("bounce3");
					function q() {
						i.removeClass("bounce3")
					}
					setTimeout(q, 300)
				}
				setTimeout(p, 300)
			}
			setTimeout(o, 300)
		}
		setTimeout(n, 300)
	}
});


#4 Stanislav

Stanislav

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 207 сообщений

Отправлено 03 Декабрь 2013 - 08:03

Здравствуйте. Слайдер и гирлянды встали, но игрушки стали не активными, и без звука(

#5 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 04 Декабрь 2013 - 02:46

Если запустить выполнение кода после загрузки страницы, то он начинает корректно обрабатываться. Возможно какое-то событие удаляет или перекрывает предыдущие события. Как вариант попробовать запускать код с задержкой. Попробуйте заменить содержимое файла newyear.js на следующий код (после не забудьте очистить кэш в вашем браузере)

$(function () {
setTimeout(function() {
		var d = function () {};
		$(".b-ball_bounce").live("mouseenter", function () {
				b(this);
				m(this)
		})
$(".b-ball_bounce .b-ball__right").live("mouseenter", function (i) {
				i.stopPropagation();
				b(this);
				m(this)
		});
		function f() {
				var i = "http://megascripts.ru/demo/new_year_motnya/ny2012.swf";
				i = i + "?nc=" + (new Date().getTime());
				swfobject.embedSWF(i, "z-audio__player", "1", "1", "9.0.0", null, {}, {
						allowScriptAccess: "always",
						hasPriority: "true"
				})
		}
		function h(i) {
				if ($.browser.msie) {
						return window[i]
				} else {
						return document[i]
				}
		}
		window.flashInited = function () {
				d = function (j) {
						try {
								h("z-audio__player").playSound(j)
						} catch (i) {}
				}
		};
		if (window.swfobject) {
				window.setTimeout(function () {
						$("body").append('<div class="g-invisible"><div id="z-audio__player"></div></div>');
						f()
				}, 100)
		}
		var l = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "\\"];
		var k = ["z", "x", "c", "v", "b", "n", "m", ",", ".", "/"];
		var g = 36;
		var a = {};
		for (var e = 0, c = l.length; e < c; e++) {
				a[l[e].charCodeAt(0)] = e
		}
		for (var e = 0, c = k.length; e < c; e++) {
				a[k[e].charCodeAt(0)] = e
		}
		$(document).keypress(function (j) {
				var i = $(j.target);
				if (!i.is("input") && j.which in a) {
						d(a[j.which])
				}
		});
		function b(n) {
				if (n.className.indexOf("b-ball__right") > -1) {
						n = n.parentNode
				}
				var i = /b-ball_n(\d+)/.exec(n.className);
				var j = /b-head-decor__inner_n(\d+)/.exec(n.parentNode.className);
				if (i && j) {
						i = parseInt(i[1], 10) - 1;
						j = parseInt(j[1], 10) - 1;
						d((i + j * 9) % g)
				}
		}
		function m(j) {
				var i = $(j);
				if (j.className.indexOf(" bounce") > -1) {
						return
				}
				i.addClass("bounce");
				function n() {
						i.removeClass("bounce").addClass("bounce1");
						function o() {
								i.removeClass("bounce1").addClass("bounce2");
								function p() {
										i.removeClass("bounce2").addClass("bounce3");
										function q() {
												i.removeClass("bounce3")
										}
										setTimeout(q, 300)
								}
								setTimeout(p, 300)
						}
						setTimeout(o, 300)
				}
				setTimeout(n, 300)
		}
}, 800);
});


#6 Stanislav

Stanislav

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 207 сообщений

Отправлено 04 Декабрь 2013 - 08:31

вроде ничего не изменилось, смотрел в разных браузерах. Вот у меня есть тема здесь на форуме. У юзера была похожая беда, он сам поковырявшись сделал. Я пробовал сделать как у него в последнем сообщении, все тоже встает на место, и тоже звука нет(

#7 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 05 Декабрь 2013 - 03:32

Вы пробовали очищать кеш в браузере после замены кода в файле newyear.js ? На данный момент у вас отсутствуют изменения. Попробуйте внести изменения повторно а после очистить кэш в браузере. Так же попробуйте проверить работоспособность кода в разных браузерах.

#8 Stanislav

Stanislav

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 207 сообщений

Отправлено 05 Декабрь 2013 - 21:34

бесполезно(

#9 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 06 Декабрь 2013 - 03:49

Попробовал заменить код через замену исходного кода в браузере Опера. В результате код обрабатывается корректно. На данный момент у вас все так же не изменен файл newyear.js. Пожалуйста, выполните замену файла на содержимое из сообщения http://forum.storela...ки/#entry108202 после изменения очистите кэш в браузере и не удаляйте внесенных вами изменений.

#10 admin

admin

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 505 сообщений
  • ГородСамара

Отправлено 13 Декабрь 2013 - 15:00

Сделал всё как написано выше....
Звук есть но самих шариков нет!

#11 admin

admin

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 505 сообщений
  • ГородСамара

Отправлено 13 Декабрь 2013 - 15:14

Извиняюсь просто картинки не залил!

#12 Acum56

Acum56

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 217 сообщений

Отправлено 19 Декабрь 2013 - 07:29

У меня после установки Новогодних гирлянд от Яндекса и Снега перестал работать быстрый заказ - вот я и снес нафиг эти гирлянды и снег.
Господа админы - я не силен в этих весчах JQuery - очень конечно все это интересно мне, но думаю остальным обычным владельцам интернет магазинов - это не особо интересно разбираться в тонкостях скриптов и несовместимости.

Может стоит в целях стандартизации и унификации встраивать актуальные и рабочие версии JQuery библиотек в админку, и вызывать соответствующие функции этих библиотек в шаблонах сайтов пользователей не напрямую со скриптов установленных на сайте, а с набора попеременно с утвержденных скриптов а админке???
Это позволит всегда поддерживать в актуальном состоянии весь набор часто используемых унифицированных скриптов. Если же говорить об обновлении - то нужно придумывать тогда механизм миграции со старых скриптов на новые версии автоматически во всех шаблонах всех сайтов... Вот как то так мысли вслух.

А то получается делаешь одно - и ломаешь другое

#13 Koderhan

Koderhan

    Активный участник

  • Модератоpы
  • 6 227 сообщений

Отправлено 19 Декабрь 2013 - 12:14

Просмотр сообщенияAcum56 (19 Декабрь 2013 - 07:29) писал:

У меня после установки Новогодних гирлянд от Яндекса и Снега перестал работать быстрый заказ - вот я и снес нафиг эти гирлянды и снег.
Господа админы - я не силен в этих весчах JQuery - очень конечно все это интересно мне, но думаю остальным обычным владельцам интернет магазинов - это не особо интересно разбираться в тонкостях скриптов и несовместимости.

Может стоит в целях стандартизации и унификации встраивать актуальные и рабочие версии JQuery библиотек в админку, и вызывать соответствующие функции этих библиотек в шаблонах сайтов пользователей не напрямую со скриптов установленных на сайте, а с набора попеременно с утвержденных скриптов а админке???
Это позволит всегда поддерживать в актуальном состоянии весь набор часто используемых унифицированных скриптов. Если же говорить об обновлении - то нужно придумывать тогда механизм миграции со старых скриптов на новые версии автоматически во всех шаблонах всех сайтов... Вот как то так мысли вслух.

А то получается делаешь одно - и ломаешь другое
Не так то все просто. Обновление jquery библиотеки на сайте влечет за собой множество изменений в скриптах которые связаны с этой библеотекой. И все это требует времени. Не говоря уже о сайтах на которых подключены множество сторонних скриптов и изменен html код, на таких сайтах вообще почти не возможно обновить jquery до актуальной версии автоматически.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных