Показать сообщение отдельно
  #1 (permalink)  
Старый 19.12.2012, 15:01
Новичок на форуме
Отправить личное сообщение для Daria_111 Посмотреть профиль Найти все сообщения от Daria_111
 
Регистрация: 19.12.2012
Сообщений: 7

Обновить кусок кода с версии 1.4.2 до новой
Ребята, очень прошу помощи. Есть кусок кода, который скролит по сайту якорной структуры и автоматически обновляет выбранный пункт меню (версия jQuery 1.4.2):
// add & remove active link
		$(document).ready(function() {
			$(window).scroll(function () {
				var inview = '#' + $("section > article:in-viewport:first").parent().attr('id'),
						$link = $('nav a').filter('[hash=' + inview + ']');

				if ($link.length && !$link.is('.selected')) {
					$('nav a').removeClass('selected');
					$link.addClass('selected');
				}
			})
		});

		// add smorth scroll
		$(document).ready(function() {
			function filterPath(string) {
			return string
				.replace(/^\//,'')
				.replace(/(index|default).[a-zA-Z]{3,4}$/,'')
				.replace(/\/$/,'');
			}
			var locationPath = filterPath(location.pathname);
			var scrollElem = scrollableElement('html', 'body');

			$('a[href*=#]:not(.accordion-toggle,#modal_button)').each(function() {
				var thisPath = filterPath(this.pathname) || locationPath;
				if (  locationPath == thisPath
				&& (location.hostname == this.hostname || !this.hostname)
				&& this.hash.replace(/#/,'') ) {
					var $target = $(this.hash), target = this.hash;
					if (target) {
						var targetOffset = $target.offset().top;
						$(this).click(function(event) {
							event.preventDefault();
							$(scrollElem).animate({scrollTop: targetOffset}, 500, function() {
								location.hash = target;
							});
						});
					}
				}
			});

			// use the first element that is "scrollable"
			function scrollableElement(els) {
				for (var i = 0, argLength = arguments.length; i <argLength; i++) {
					var el = arguments[i],
							$scrollElement = $(el);
					if ($scrollElement.scrollTop()> 0) {
						return el;
					} else {
						$scrollElement.scrollTop(1);
						var isScrollable = $scrollElement.scrollTop()> 0;
						$scrollElement.scrollTop(0);
						if (isScrollable) {
							return el;
						}
					}
				}
				return [];
			}

		});


Нужно обновить хотя бы до версии 1.7.0, так как работаю с Bootstrap и функциeй on().
Ответить с цитированием