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


Скользящий Блок


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

#41 Сake

Сake

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

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

Отправлено 18 Июль 2013 - 00:23

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

$(document).ready(function(){
var obj = $('#sticky');
var offset = obj.offset();
var topOffset = offset.top;
var leftOffset = offset.left;
var marginTop = obj.css("marginTop");
var marginLeft = obj.css("marginLeft");
$(window).scroll(function() {
var scrollTop = $(window).scrollTop();
if (scrollTop >= topOffset){
obj.css({
marginTop: -topOffset+22,
// marginLeft: leftOffset,
position: 'fixed',
});
toPrint();
}
if (scrollTop < topOffset){
  obj.css({
   marginTop: 11,
   // marginLeft: marginLeft,
   position: 'relative',
  });
}
});
});

и заменить на

$(document).ready(function(){
	var obj = $('#sticky');
	var offset = obj.offset();
	var topOffset = offset.top;
	var leftOffset = offset.left;
	var marginTop = obj.css("marginTop");
	var marginLeft = obj.css("marginLeft");
var scroll = function() {
	 var scrollTop = $(window).scrollTop();
  if (scrollTop >= topOffset) {
	  obj.css({
				marginTop: -topOffset+22,
				position: 'fixed',
			});
   toPrint();
  }
  if (scrollTop < topOffset) {
	  obj.css({
				marginTop: 11,
				position: 'relative',
			});
  }
}
scroll();
$(window).scroll(function() {
		scroll();
	});
});


#42 AlexP_RUS

AlexP_RUS

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

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

Отправлено 18 Июль 2013 - 09:37

Спасибо, проблема устранена.

Теперь осталось надпись "Товар есть в наличии" поставить после цены.

#43 Koderhan

Koderhan

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

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

Отправлено 18 Июль 2013 - 11:14

В файле "main.js".
Код:
function toPrint() {
var f = $('.goodsDataMainModificationDataBlock').html();
var g = $('.goodsDataFormSubmitButton').html();
var g2 = $('.goodsDataMainModificationAvailable').html();
var g =$('.goodsDataFormSubmitButton').not('div').html();
console.log(g);
$('.myblock4').html(f);
$('.myblock4').append(g);
$('.myblock4 div').remove();
$('.myblock4').append(g2);
$('.myblock4 input').click(function(){
// Добавление товара в корзину через ajax
		$('.goodsDataForm').nyroModalManual({
		  formIndicator: 'ajax_q',  // Value added when a form is sent
		  minWidth: 420, // Minimum width
		  minHeight: 150, // Minimum height
		  gallery: null // Gallery name if provided
		});
		return false;



})
}
Заменить:
function toPrint() {
var f = $('.goodsDataMainModificationDataBlock').html();
var g = $('.goodsDataFormSubmitButton').html();
var g2 = $('.goodsDataMainModificationAvailable').html();
var g =$('.goodsDataFormSubmitButton').not('div').html();
console.log(g);
$('.myblock4').html(f);
$('.myblock4').append(g);
$('.myblock4 div').remove();
$('.myblock4').prepend(g2);
$('.myblock4 input').click(function(){
// Добавление товара в корзину через ajax
		$('.goodsDataForm').nyroModalManual({
		  formIndicator: 'ajax_q',  // Value added when a form is sent
		  minWidth: 420, // Minimum width
		  minHeight: 150, // Minimum height
		  gallery: null // Gallery name if provided
		});
		return false;



})
}

В файле "main.css".
Добавить в конец файла код:
.block4 .goodsDataMainModificationPriceNow {
	margin-top: 10px;
}


#44 AlexP_RUS

AlexP_RUS

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

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

Отправлено 18 Июль 2013 - 15:16

Надо поставить после цены, а не перед ней)

#45 Сake

Сake

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

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

Отправлено 19 Июль 2013 - 00:18

Замените строку

$('.myblock4').prepend(g2);

на

$('.myblock4 #ToCart').before(g2);


#46 AlexP_RUS

AlexP_RUS

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

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

Отправлено 19 Июль 2013 - 11:33

А можно ещё теперь сделать так, чтобы когда человек нажал на любую кнопку "в корзину" и добавил товар, снизу этой кнопки в скользящем блоке появлялась ссылка "перейти к оформлению"(ссылка к оформлению) с пунктирной линией снизу?

#47 Koderhan

Koderhan

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

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

Отправлено 19 Июль 2013 - 15:50

Просмотр сообщенияAlexP_RUS (19 Июль 2013 - 11:33) писал:

А можно ещё теперь сделать так, чтобы когда человек нажал на любую кнопку "в корзину" и добавил товар, снизу этой кнопки в скользящем блоке появлялась ссылка "перейти к оформлению"(ссылка к оформлению) с пунктирной линией снизу?
Панель администратора, "Сайт"->"Редактор тем".
В файле "main.css".
Добавить в конец файла код:
.oform {
margin-top: 12px;
margin-right: 10px;
}
.oform a {
border-bottom: 1px dashed;
}

.oform2 a {
border-bottom: 1px dashed;

}

В файле "main.js".
Добавить в конец файла код:
$(function(){

$('.goodsDataFormSubmitButton #ToCart').click(function(){
$(this).parent("td").find('.oform').html('<a href="http://autovostorg.ru/cart" title="Оформление заказа">Перейти к оформлению</a>')
});


$('.myblock4 #ToCart').click(function(){
if(!($(".oform2").length)) {
$(this).parent('.myblock4').append('<div class="oform2"><a href="http://autovostorg.ru/cart" title="Оформление заказа">Перейти к оформлению</a></div>');
}
});

});
И в файле "Товар". После кода:
<input id="ToCart" type="submit" value="" style="width:132px;height:30px;" />
Добавить:
<div class="oform"></div>


#48 AlexP_RUS

AlexP_RUS

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

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

Отправлено 19 Июль 2013 - 18:21

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

#49 Сake

Сake

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

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

Отправлено 20 Июль 2013 - 00:59

Добавьте в ваш файл main.js

$(function() {
  $('#ToCart').live('click', function() {
	 $('.myblock4 #ToCart').after($('<p>')
	  .append($('<a>').attr('href', '/cart').text('Перейти к оформлению')));
	 return(true);
  });
});


#50 AlexP_RUS

AlexP_RUS

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

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

Отправлено 20 Июль 2013 - 14:26

Ссылка стала появляться в центральном блоке, а мне надо чтобы она появлялась в скользащем блоке. Только вот появляющуюся при наведении линию между словом и пунктирной линией надо удалить и оставить просто пунктирную и чтобы она при наведении исчезала(короче, как у меня сделана ссылка наверху "в корзине").

Так же при обновлении страницы ссылка пропадает, этого не хотелось бы (но впринцие можно и оставить так).

#51 Сake

Сake

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

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

Отправлено 23 Июль 2013 - 00:29

Код который я предложил использовать вам выше - вставляет ссылку как в карточку товара, так и в плавающий блок. Если вам необходимо оставит ссылку только в плавающем блоке, то используйте код

$(function() {
  $('#ToCart').live('click', function() {
		if(!$('.rblock .order-link').length) {
			$('.rblock #ToCart').after($('<p>')
			.append($('<a class="order-link goodsDataCompareButton">')
			.attr('href', '/cart').text('Перейти к оформлению')));
		}
		return(true);
  });
});


#52 AlexP_RUS

AlexP_RUS

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

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

Отправлено 31 Июль 2013 - 18:42

Подскажите, а можно ещё сделать скользящим блок "Вы смотрели"?

#53 Vaccina

Vaccina

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

  • Модераторы
  • 24 353 сообщений

Отправлено 01 Август 2013 - 02:06

Добавьте в ваш файл main.js

$(function() {
  $($('.recent_viewed').parent().prev().prev()
  .nextAll()).wrapAll($('<div>').
  attr('id', 'recent-viewed-left').
  css('width', $('#subNavigation').width()));
  var obj = $('#recent-viewed-left');
  var offset = obj.offset();
  var topOffset = offset.top;
  var leftOffset = offset.left;
  var marginTop = obj.css("marginTop");
  var marginLeft = obj.css("marginLeft");
  var scroll = function() {
	  var scrollTop = $(window).scrollTop();
	  if(scrollTop >= topOffset) {
		  obj.css({
			  marginTop: -topOffset+22,
			  position: 'fixed',
		  });
	  }
	  if(scrollTop < topOffset) {
		  obj.css({
			   marginTop: 11,
			   position: 'relative',
		  });
	  }
  };
  scroll();
  $(window).scroll(function() {
	  scroll();
  });
});


#54 AlexP_RUS

AlexP_RUS

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

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

Отправлено 01 Август 2013 - 15:42

Работает, человек просмотрел более одного товара, появляется "Вы смотрели" и скользит как надо, но тут я почистил кэш и увидел что когда блока "Вы смотрели" ещё нету, то выскакивает 1 JS ошибка. Когда блок появляется после просмотренных товаров ошибка исчезает. Как это исправить?

#55 Vaccina

Vaccina

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

  • Модераторы
  • 24 353 сообщений

Отправлено 02 Август 2013 - 00:33

Замените строку

$($('.recent_viewed').parent().prev().prev()

на следующую

if(!$('.recent_viewed').length) return;
$($('.recent_viewed').parent().prev().prev()


#56 AlexP_RUS

AlexP_RUS

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

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

Отправлено 11 Сентябрь 2013 - 19:38

Подскажите, а как сократить расстояние от ссылки "купить в 1 клик" до кнопки "в корзину"? Ссылка снизу далеко встаёт.

#57 Taisia

Taisia

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

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

Отправлено 11 Сентябрь 2013 - 19:59

вы говорите о расстоянии между этими кнопкой и ссылкой

23.png

в этом случае тут  так минимальное расстояние

уточните вопрос еще актуален ?
или опишите более детально какие кнопки вы имеете в виду

#58 AlexP_RUS

AlexP_RUS

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

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

Отправлено 12 Сентябрь 2013 - 10:24

Извиняюсь, не в ту тему вопрос задал.

#59 AlexP_RUS

AlexP_RUS

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

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

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

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

#60 Сake

Сake

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

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

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

В данном случае определить и устранить проблему затруднительно, так как нет технической возможности в обнаружении данной проблемы. Пожалуйста, сообщите разрешение экрана и версию браузера используемую вами. Для IE можно попробовать удалить из шаблона "HTML" код

<meta http-equiv="X-UA-Compatible" content="IE=7" />





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

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