Javascript.RU

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

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

<html>
<head>
<title>test</title>
<script type="text/javascript" src="jquery-1.3.2.js"></script>

<script type="text/javascript">
$(document).ready(function() {
	$(".hide_btn_tsk").click(function(){
	
		if ($(".hide_tsk").is(':visible')) 
			{ 
			  $(".hide_tsk").hide(); 
			  alert('true');
			}
		else 
			{ 
			  $(".hide_tsk").show();
			  alert('false');
			} 
	});
});
</script>

</head>
<body>

<table border="1">
<tr>
<td><span class="hide_btn_tsk">показать/скрыть</span></td>
</tr>
<tr class="hide_tsk">
<td>скрывающийся текст</td>
</tr>
</table>
</body>

</html>
Ответить с цитированием
  #2 (permalink)  
Старый 10.06.2009, 18:02
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

visible определяется так
elem.offsetWidth > 0 || elem.offsetHeight > 0;

после скрытия строки
elem.offsetWidth > 0
Ответить с цитированием
  #3 (permalink)  
Старый 10.06.2009, 20:55
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от x-yuri
elem.offsetWidth > 0 || elem.offsetHeight > 0;
Интересная статья про reflow: http://dpp.su/blog/reflow/
Ответить с цитированием
  #4 (permalink)  
Старый 10.06.2009, 21:08
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Ну вот, придется опять переписывать метод visible в своем фреймворке – дипломном проекте
--------------------------------

Сообщение от x-yuri Посмотреть сообщение
visible определяется так
elem.offsetWidth > 0 || elem.offsetHeight > 0;

после скрытия строки
elem.offsetWidth > 0
Так метод hide скрывает при помощи свойства display и в IE нормально срабатывает offsetWidth > 0, проблема в чем то другом.

Последний раз редактировалось Octane, 10.06.2009 в 23:22.
Ответить с цитированием
  #5 (permalink)  
Старый 11.06.2009, 11:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Octane
Ну вот, придется опять переписывать метод visible в своем фреймворке – дипломном проекте
Зачем? Надо просто понимать, когда запускается reflow, а это не такой уж частый случай.
Ответить с цитированием
  #6 (permalink)  
Старый 11.06.2009, 11:48
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Про reflow знаю, меня сбило вот это:
Сообщение от x-yuri
после скрытия строки
elem.offsetWidth > 0
Подумал, что для inline-элементов как-то по другому работает, но потом проверил, все нормально offsetWidth == 0
Ответить с цитированием
  #7 (permalink)  
Старый 11.06.2009, 15:26
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Так метод hide скрывает при помощи свойства display и в IE нормально срабатывает offsetWidth > 0, проблема в чем то другом.
после скрытия строки offsetWidth > 0, offsetHeight == 0, display: none (ie 7) и именно из-за этого offsetWidth > 0 строка считается видимой, у меня так

Последний раз редактировалось x-yuri, 11.06.2009 в 15:30.
Ответить с цитированием
  #8 (permalink)  
Старый 11.06.2009, 15:47
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

А IE7 установленный в системе или в каком-нибудь IETester?
Ответить с цитированием
  #9 (permalink)  
Старый 11.06.2009, 15:55
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

установленный в системе
Ответить с цитированием
  #10 (permalink)  
Старый 11.06.2009, 16:00
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Octane
А IE7 установленный в системе или в каком-нибудь IETester?
Кстати, давно интересуюсь... на все ли 100% они (ие) одинаковые?! система==IETester???
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с Ajax запросом в IE и Opera flash_uz AJAX и COMET 0 30.04.2009 15:08
Проблема с передачей параметров в IE flash_uz AJAX и COMET 4 17.04.2009 15:30
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47
проблема с обработкой DIV nerik AJAX и COMET 2 22.08.2008 17:40
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56