Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Табы в продукте


Miker

Recommended Posts

Давно уже обращаю внимание но найти не смог где эту функцию отключить, проблема в том что при нажатии на любой из табов в продукте страница приподымается вверх при этом теряется фокусировка, что очень не удобно при добавлении например отзывов или например при нажатии на описание и так далее, есть ли лечение от этой дёрганки? заранее благодарен. Version 1.5.3.1

  • +1 1
Надіслати
Поділитися на інших сайтах


где-то тут обсуждалось уже.

связано с "разной высотой блоков":

если высота содержимого вкладки, на которую переключаетесь, больше, чем высота боковых колонок - происходит данный эффект.

если же в левой/правой колонке будет достаточно инфы, чтобы содержимое вкладки оказалось "в пределах высоты колонки" - эффекта нет.

  • +1 1
Надіслати
Поділитися на інших сайтах

  • 1 month later...

где-то тут обсуждалось уже.

связано с "разной высотой блоков":

если высота содержимого вкладки, на которую переключаетесь, больше, чем высота боковых колонок - происходит данный эффект.

если же в левой/правой колонке будет достаточно инфы, чтобы содержимое вкладки оказалось "в пределах высоты колонки" - эффекта нет.

 

Тоже недавно заметил это, убедиться можно даже на демке с opencart.com

Промотайте до середины вкладки описания, а потом нажмите на отзывы - экран промотается гораздо выше, чем нужно было бы из-за разницы высоты блоков.

Тут дело не в высоте, а в файле tabs.js (хотя я все равно до конца не понял, почему у меня раньше на 1.5.2.1 такого эффекта не проявлялось)

 

Методом тыка обнаружилось, что в последней 1.5.5.1 такого загадочного поведения у табов нет, а в 1.5.4.1 - есть, поэтому я сравнил сначала файлы стилей, особой разницы не нашел, а потом вспомнил про tabs.js, где в новой версии появились небольшие изменения.

Итак, чтобы экран не крутился больше нужного, надо заменить старый файл tabs.js

 

 

$.fn.tabs = function() {
	var selector = this;
	
	this.each(function() {
		var obj = $(this); 
		
		$(obj.attr('href')).hide();
		
		$(obj).click(function() {
			$(selector).removeClass('selected');
			
			$(selector).each(function(i, element) {
				$($(element).attr('href')).hide();
			});
			
			$(this).addClass('selected');
			
			$($(this).attr('href')).fadeIn();
			
			return false;
		});
	});

	$(this).show();
	
	$(this).first().click();
};

 

новым файлом с таким кодом

 

$.fn.tabs = function() {
	var selector = this;
	
	this.each(function() {
		var obj = $(this); 
		
		$(obj.attr('href')).hide();
		
		obj.click(function() {
			$(selector).removeClass('selected');
			
			$(this).addClass('selected');
			
			$($(this).attr('href')).fadeIn();
			
			$(selector).not(this).each(function(i, element) {
				$($(element).attr('href')).hide();
			});
			
			return false;
		});
	});

	$(this).show();
	
	$(this).first().click();
};

 

Мне это помогло :-)

  • +1 3
Надіслати
Поділитися на інших сайтах

  • 3 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.