Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2013, 18:25
Новичок на форуме
Отправить личное сообщение для cepeus Посмотреть профиль Найти все сообщения от cepeus
 
Регистрация: 24.05.2013
Сообщений: 4

Скролл по статьям блога
Здравствуйте уважаемые гуру!
Хочу сделать прокрутку по статьям как на http://community.modx-cms.ru/, используя при этом jquery. К сожалению, в сети решения не нашел, а мои знания в этом вопросе весьма скудны.
Понимаю, что нужно использовать плагин scrollTo, и с перемоткой до определенного элемента, проблем нет. А как сделать, что бы происходил листинг по топикам с одинаковыми тегами?
<html>
<head>
	<script src="http://code.jquery.com/jquery-latest.js"></script>
	<script src="http://demos.flesler.com/jquery/scrollTo/js/jquery.scrollTo-min.js"></script>
<style>
article { height:1000px;}
</style>

</head>
<body>

<div id="container">
	<article>
		<header>Заголовок 1</header>
		<div>ля-ля-ля</div>
		<footer></footer>
	</article>
	<article>
		<header>Заголовок 2</header>
		<div>пум-пум-пум</div>
		<footer></footer>
	</article>
	<article>
		<header>Заголовок 3</header>
		<div>ра-та-та</div>
		<footer></footer>
	</article>

	<aside class="toolbar" style="position: fixed; top: 327px; display: block;">
		<section class="toolbar-topic" id="" style="">
			<a href="#" title="Предыдущая статья" class="toolbar-topic-prev"><i></i></a>
			<a href="#" title="Следующая статья" class="toolbar-topic-next"><i></i></a>
		</section>
		<section class="toolbar-scrollup" id="toolbar_scrollup">
			<a href="#" title="Вверх"><i></i></a>
		</section>	
	</aside>
</div>

</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 25.05.2013, 03:05
Новичок на форуме
Отправить личное сообщение для cepeus Посмотреть профиль Найти все сообщения от cepeus
 
Регистрация: 24.05.2013
Сообщений: 4

Сам спросил, сам отвечаю:
нашел решение здесь
Упрощенный код теперь выглядит так:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://demos.flesler.com/jquery/scrollTo/js/jquery.scrollTo-min.js"></script>
<style>article {height:1000px;}</style>

<script>
$(document).ready (function () {
	
	var $chapters = $('#container').find('article');
	var $chScrollPositions = new Array();
	
	$chapters.each(function(i){
		$chScrollPositions[i] = Math.round($(this).offset().top - $('#container').offset().top);
	});
	$chapters.eq(0).addClass('active'); 
	
	$('#nav > nav > button').click(function(){
		var last = $chapters.parent().find('article.active').removeClass('active').index();
		var next;
		
		switch($(this).index()){
			case 0:
				next = (last + 1 == $chapters.length) ? 0 : last + 1;
			break;
			case 1:
				next = (last + 1 == $chapters.length) ? 0 : last - 1;
			break;
			case 2:
				next = 0;
			break;
		}
		$chapters.eq(next).addClass('active');
		$.scrollTo($chScrollPositions[next], 1000);
	});
});

</script>
</head>
<body>
<section id="nav" style="position:fixed; right:0; top: 200px; width:30%">
	<nav>
		<button class="next">Туды</button>
		<button class="last">Сюды</button>
		<button class="first">Обратно</button>
	</nav>
</section>
<div id="container" style="width:70%">
	<article>
		<header>Заголовок 1</header>
		<div>ля-ля-ля</div>
	</article>
	<article>
		<header>Заголовок 2</header>
		<div>пум-пум-пум</div>
	</article>
	<article>
		<header>Заголовок 3</header>
		<div>ра-та-та</div>
	</article>
</div>
</body>
</html>

Теперь другая проблема. В моем коде наблюдается мигание при прокрутке. Если убрать задержку анимации scrollTo, прокрутка не работает вовсе.
Пойду копать, но может кто-то натолкнет на мысль?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скролл как вконтакте shilinpavel Javascript под браузер 3 14.06.2012 18:44
Скролл вверх при клике ie6/7/8 dr_gluk jQuery 0 21.03.2012 11:12
Определить присутствует ли скролл на iframe sergiyko Общие вопросы Javascript 3 14.03.2011 23:15
Горизонтальный скролл бар в ФФ Kepa (X)HTML/CSS 3 18.12.2010 22:44
Плавный скролл колёсиком Alerto Элементы интерфейса 5 27.08.2009 11:46