Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Нужна помощь в JavaScript (модуль Cloud Zoom Free)


Bersi
 Поделиться

Рекомендованные сообщения

Переделываю под себя модуль Cloud Zoom Free (oc 1.5.3). Немного поменял стиль вывода и добавил пару условий на вывод картинки, меньше заданного в параметрах зума. Кроме того, картинки у меня не квадратные, а масштабируются исходя из пропорций исходного изображения.

Заметил глюк: в некоторых случаях (от чего зависит, так и не понял) скрипт не может определить background-position для линзы. Как это происходит, можно посмотреть по ссылке (третья картинка в списке) и на скриншотах (прилагаются).

Не правильно:

Изображение

Правильно:

Изображение

Вроде бы нашел код в скрипте, который за это отвечает (cloud-zoom.1.0.2.js, строки 131-135):

				lens.css({
					left: x,
					top: y
				});
				lens.css('background-position', (-x) + 'px ' + (-y) + 'px');
При этом значения left и top определяются прекрасно, проблема именно с background-position.

Очень прошу помощи профессионалов.

Во вложении модифицированный модуль.

ЗЫ: я не программер, потому прошу строго не судить, если что-то объяснил коряво :)

cloud-zoom-magnifier-simple 1531-mod.zip

Ссылка на комментарий
Поделиться на других сайтах


Разобрался сам.

Округлил значения до целых, поменяв

				var x = (mx - sImg.offset().left - (cw * 0.5)) >> 0;
				var y = (my - sImg.offset().top - (ch * 0.5)) >> 0;
			  
				if (x < 0) {
					x = 0;
				}
				else if (x > (sImg.outerWidth() - cw)) {
					x = (sImg.outerWidth() - cw);
				}
				if (y < 0) {
					y = 0;
				}
				else if (y > (sImg.outerHeight() - ch)) {
					y = (sImg.outerHeight() - ch);
				}
на:

				var x = Math.round(mx - sImg.offset().left - (cw * 0.5)) >> 0;
				var y = Math.round(my - sImg.offset().top - (ch * 0.5)) >> 0;
			  
				if (x < 0) {
					x = 0;
				}
				else if (x > (sImg.outerWidth() - cw)) {
					x = Math.round(sImg.outerWidth() - cw);
				}
				if (y < 0) {
					y = 0;
				}
				else if (y > (sImg.outerHeight() - ch)) {
					y = Math.round(sImg.outerHeight() - ch);
				}
Тему можно удалять :)
Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...
  • 5 месяцев спустя...

Скачал файл что то не работает, там нужно все менять как выше описано? (есть готовый рабочий?)

И еще по поводу qmoda я что то не разберусь когда устанавливаешь подобные модули  как их потом настраивать или отключат в qmode а то в модулях не отображает не как понять не могу

Ссылка на комментарий
Поделиться на других сайтах


Скачал файл что то не работает, там нужно все менять как выше описано? (есть готовый рабочий?)

И еще по поводу qmoda я что то не разберусь когда устанавливаешь подобные модули  как их потом настраивать или отключат в qmode а то в модулях не отображает не как понять не могу

vqmod создает папку xml в своей директории, там и лежат собственно файлы, изменяющие стандартный функционал. Если переименовать расширение подобного файла (например, mod.xml0 вместо mod.xml), это приведет к "отключению" мода. Ну или можно просто удалить ненужный файл. Что же касается изменений, где-то была неплохая инструкция (пришлю в личке).

 

Также пришлю готовый файл вместе с vqmod'ом в ближайшее время (сейчас он не под рукой).

Ссылка на комментарий
Поделиться на других сайтах


Скачал файл что то не работает, там нужно все менять как выше описано? (есть готовый рабочий?)

И еще по поводу qmoda я что то не разберусь когда устанавливаешь подобные модули  как их потом настраивать или отключат в qmode а то в модулях не отображает не как понять не могу

vqmod создает папку xml в своей директории, там и лежат собственно файлы, изменяющие стандартный функционал. Если переименовать расширение подобного файла (например, mod.xml0 вместо mod.xml), это приведет к "отключению" мода. Ну или можно просто удалить ненужный файл. Что же касается изменений, где-то была неплохая инструкция (пришлю в личке).

 

Также пришлю готовый файл вместе с vqmod'ом в ближайшее время (сейчас он не под рукой).

Ок. буду ждать

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

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

Ссылка на комментарий
Поделиться на других сайтах


Чтобы к фотке не дополнялись маленькие изображения, в админке можно размеры приравнять, а вот почему идет дубликат привьюшки я не понял ...

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.