Javascript.RU

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

Помогите убрать прыжек страницы при клике
Здравствуйте
Есть код для вкладок:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	<meta name="author" content="Grafs" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($){
  $('ul.wstab').each(function() {
    $(this).find('li').each(function(i) {
      $(this).click(function(e){
        $(this).addClass('wstbcur').siblings().removeClass('wstbcur');
        var pr = $(this).parents('div.wpposttab');      
        pr.find('div.wstabcn').hide();
        pr.find('div.wstabcn:eq('+i+')').fadeIn(250); 
      });      
  });  
});
});	
</script>
<style type="text/css">
<!--
.wpposttab{width:100%;margin:10px 0;}
	.wstab{position:relative;margin:0 0 0 10px;padding:0;z-index:22;}
		.wpposttab .wstab li{position:relative;float:left;border:1px solid #d2d3d5;background:#f1f1f2;margin:0 5px 0 0;padding:5px 10px;text-align:center;text-transform:uppercase;font-weight:bold;color:#3c3b3d;list-style:none;}
		.wpposttab .wstab li:hover{color:#f68b2e;cursor:pointer;}
			.wstabl,.wstabr{position:absolute;top:-1px;width:6px;height:6px;overflow:hidden;font-size:0;background:url(images/round.png) no-repeat;}
			.wstabl{left:-1px;background-position: 0 0;} .wstabr{right:-1px;background-position: -6px 0;}
	.wstabcn{display:none;position:relative;border:1px solid #d2d3d5;background:#FFF;z-index:10;top:-1px;padding:10px 10px;overflow:hidden;}	
	.wstbshow{display: block;}
		.wpposttab li.wstbcur{color:#f68b2e;border-bottom:1px solid #FFF; background:#FFF;}
		.wpposttab li.wstbcur:hover{color:#f68b2e;cursor:auto;}		
-->
</style>
	<title>Untitled 3</title>
</head>

<body>
Вкладка 1
<div class="wpposttab">
<ul class="wstab">
<li class="wstbcur">Меню1</li>
<li>Меню2</li>
<li>Меню3</li>

</ul>
<div style="clear:both;"></div>
<div class="wstabcn wstbshow">Текст меню 1</div>
<div class="wstabcn">Текст меню 2</div>
<div class="wstabcn">Текст меню 3</div>
</div>
Здесь идет какойто текст<br />
Здесь идет какойто текст<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
Вкладка 2<br />
<div class="wpposttab">
<ul class="wstab">
<li class="wstbcur">Меню1</li>
<li>Меню2</li>
<li>Меню3</li>
</ul>
<div style="clear:both;"></div>
<div class="wstabcn wstbshow">Текст меню 1</div>
<div class="wstabcn">Текст меню 2</div>
<div class="wstabcn">Текст меню 3</div>
</div>
Здесь идет какойто текст<br />
Здесь идет какойто текст<br />
Здесь идет какойто текст<br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</body>
</html>



Все работает на ура кроме одного нюанса
Если прокрутить страницу так чтобы нижняя вкладка оказалась вверху страница и кликнуть по меню вкладки то страница смещается вниз к первой вкладке.
Не могу понять в чем проблема. Как убрать смещение страницы чтобы при клике по меню страница не двигалась?
Буду очень благодарен за помощь.

Последний раз редактировалось Grafs, 22.04.2010 в 21:09.
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2010, 18:31
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

return false
Ответить с цитированием
  #3 (permalink)  
Старый 22.04.2010, 18:48
Новичок на форуме
Отправить личное сообщение для Grafs Посмотреть профиль Найти все сообщения от Grafs
 
Регистрация: 22.04.2010
Сообщений: 8

Пробовал, не помогает
Ответить с цитированием
  #4 (permalink)  
Старый 22.04.2010, 18:53
Аватар для why.not?
Аспирант
Отправить личное сообщение для why.not? Посмотреть профиль Найти все сообщения от why.not?
 
Регистрация: 28.02.2010
Сообщений: 74

попробуй не hide-ом прятать предыдущий элемент, а сделать ему сразу .css({'display':'none'});
Ответить с цитированием
  #5 (permalink)  
Старый 22.04.2010, 19:30
Новичок на форуме
Отправить личное сообщение для Grafs Посмотреть профиль Найти все сообщения от Grafs
 
Регистрация: 22.04.2010
Сообщений: 8

Всеравно зараза прыгает
Ответить с цитированием
  #6 (permalink)  
Старый 22.04.2010, 19:46
Аватар для why.not?
Аспирант
Отправить личное сообщение для why.not? Посмотреть профиль Найти все сообщения от why.not?
 
Регистрация: 28.02.2010
Сообщений: 74

Разберитесь с версткой. Данный js-код сам по себе не приводит к прыжку страницы, при нормально сверстанной странице. Попробуйте фаербагом повторить последовательность действий: скройте один таб, отобразите другой. и посмотрите, что происходит со страницей
Ответить с цитированием
  #7 (permalink)  
Старый 22.04.2010, 19:57
Новичок на форуме
Отправить личное сообщение для Grafs Посмотреть профиль Найти все сообщения от Grafs
 
Регистрация: 22.04.2010
Сообщений: 8

Посмотрел, меняется у дивов display:block; на display:none; и все
Вот css:
.wpposttab{width:100%;margin:10px 0;}
	.wpposttab .wstab{position:relative;margin:0 0 0 10px;padding:0;z-index:22;}
		.wpposttab .wstab li{position:relative;float:left;border:1px solid #d2d3d5;background:#f1f1f2;margin:0 5px 0 0;padding:5px 10px;text-align:center;text-transform:uppercase;font-weight:bold;color:#3c3b3d;list-style:none;}
		.wpposttab .wstab li:hover{color:#f68b2e;cursor:pointer;}
			.wstabl,.wstabr{position:absolute;top:-1px;width:6px;height:6px;overflow:hidden;font-size:0;background:url(images/round.png) no-repeat;}
			.wstabl{left:-1px;background-position: 0 0;} .wstabr{right:-1px;background-position: -6px 0;}
	.wstabcn{display:none;position:relative;border:1px solid #d2d3d5;background:#FFF;z-index:10;top:-1px;padding:10px 10px;overflow:hidden;}	
	.wstbshow{display: block;}
		.wpposttab li.wstbcur{color:#f68b2e;border-bottom:1px solid #FFF; background:#FFF;}
		.wpposttab li.wstbcur:hover{color:#f68b2e;cursor:auto;}
Ответить с цитированием
  #8 (permalink)  
Старый 22.04.2010, 20:02
Аватар для why.not?
Аспирант
Отправить личное сообщение для why.not? Посмотреть профиль Найти все сообщения от why.not?
 
Регистрация: 28.02.2010
Сообщений: 74

ага, и сейчас кто-то должен сверстать себе страничку с вашим кодом, подключить ваш js, чтобы решить вашу же детскую проблему?
Ответить с цитированием
  #9 (permalink)  
Старый 22.04.2010, 20:12
Новичок на форуме
Отправить личное сообщение для Grafs Посмотреть профиль Найти все сообщения от Grafs
 
Регистрация: 22.04.2010
Сообщений: 8

Если есть возможность помочь решить мою детскую проблему по другому то я только ЗА.
Ответить с цитированием
  #10 (permalink)  
Старый 22.04.2010, 21:10
Новичок на форуме
Отправить личное сообщение для Grafs Посмотреть профиль Найти все сообщения от Grafs
 
Регистрация: 22.04.2010
Сообщений: 8

Обновил в первом посте код, это готовая html страничка для теста.
Попробуйте прокрутить страницу вниз и нажать на любой пункт менб во 2 вкладке.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Двойное действие при клике по ссылке spider Элементы интерфейса 5 10.11.2009 10:43
Закрыть элемент при клике вне его masterm Общие вопросы Javascript 3 31.07.2009 11:27
Действия при клике kefiads Ваши сайты и скрипты 5 18.06.2009 10:33
При первом клике список не раскрывается. lancer Элементы интерфейса 1 30.03.2008 17:24