Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.01.2010, 23:31
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

Поиск по тексту при owerflow:hidden
Суть такова: есть страничка с инфой которая скролится стрелочками, колёсиком мыши итд, инфа находится в div'e с owerflow:hidden. И всё бы хорошо но поиск при этом хоть и работает, да вот не скролит до найденного, т.е. фраза находится, выделяется но где-то за пределами экрана.

Идей по этому поводу было две: найти координаты области выделения и отскролить по ним, или же хотя бы прилепить к этой области какой-нить объект и по нему уже скролить.
Но увы моих знаний на реализацию не хватило, а трёхчасовой сеанс гугля чуть не вскипятил несчастные остатки моего мозга.
Хотяб намекните как к этому делу подобраться. =\

Пример:
<html>
<head>
<script type="text/javascript">
function tM(order) //скролл стрелками
{ 
		switch (order) {
		case 72 :
			document.getElementById('main').scrollTop +=25;
		break;
		case 70 :
			document.getElementById('main').scrollTop -=25;
		break;
		default :
		break;
	}
	return false;
}
</script>
</head>
<body onkeydown="tM(event.keyCode ? event.keyCode + 32 : event.charCode);" >
<div id="main" style="width:250px;height:250px;border:1px solid black;overflow:hidden;">
прам мам пам0<br>
прам мам пам1<br>
прам мам пам2<br>
прам мам пам3<br>
прам мам пам4<br>
прам мам пам5<br>
прам мам пам6<br>
прам мам пам7<br>
прам мам пам8<br>
прам мам пам9<br>
прам мам пам10<br>
прам мам пам11<br>
прам мам пам12<br>
прам мам пам13<br>
прам мам пам14<br>
прам мам пам15<br>
прам мам пам16<br>
прам мам пам17<br>
прам мам пам18<br>
прам мам пам19<br>
прам мам пам20<br>
прам мам пам21<br>
прам мам пам22<br>
прам мам пам23<br>
прам мам пам24<br>
прам мам пам25<br>
прам мам пам26<br>
прам мам пам27<br>
прам мам пам28<br>
прам мам пам29<br>
</div>
</body>
</html>

Последний раз редактировалось Aetae, 09.01.2010 в 01:09.
Ответить с цитированием
  #2 (permalink)  
Старый 04.01.2010, 21:59
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

Мде, идеи по ходу оказались тупиковыми. Скролл по координате выделенной области я сделал, всё работает, но... как заставить функцию реагировать только в случае поиска, а не на любое выделение? =\

Можно конечно полностью запретить выделение на странице, и тогда единственным способом выделения окажется поиск, и соответственно скролится будет только при поиске, но не хотелось бы так поступать, нормальные выделения тоже нужны.

Кстати ослик почему-то нормально скролит и при owerflow:hidden, во отличие от оперы и фф.

P.S.Или вариант ещё жёстче: прилепить свой поиск.=\ Написать то его проблем нет, просто перегружать лишними функциями не хочется.

Последний раз редактировалось Aetae, 04.01.2010 в 22:11.
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2010, 02:46
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

Блин, это какойто прям тест на тупость браузера получется.=)
По логике все верно: скролить при overflow:hidden не надо.
Ослик как самый тупой - скролит.
Опера по-умнее, но я нашёл хитрый вариант с overflow-x: scroll;overflow-y: hidden; при котором она работает как надо мне(горизонтальный скролбар я уж как-нить уберу, а вот вертикальный не нужен).
А вот ff на эту уловку, сволочь, не поддался.

Глупая блин проблема на самом деле, и не особо важная, но хочется чтоб всё было как надо.=\
Ответить с цитированием
  #4 (permalink)  
Старый 08.01.2012, 14:33
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

я намучался нормально с оверфлов.
Ответить с цитированием
  #5 (permalink)  
Старый 08.01.2012, 15:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

Нашли древность.))
Мне за эти посты стыдно)
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 08.01.2012, 20:09
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Aetae Посмотреть сообщение
Нашли древность.))
Мне за эти посты стыдно)
Мне тоже за них стыдно))))))))
Ответить с цитированием
  #7 (permalink)  
Старый 08.01.2012, 20:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

А мне то как за твои стыдно....
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 08.01.2012, 20:37
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Aetae Посмотреть сообщение
А мне то как за твои стыдно....
Мне за свои и щас стыдно порой)
вроде 5 лет JS знаю а иногда так фейлю)
Ответить с цитированием
  #9 (permalink)  
Старый 08.01.2012, 20:38
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

ой, а давай твою аватарку сделаем символом стыда)?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена картинки при перезагрузке + наведении Мария Элементы интерфейса 2 22.08.2009 14:57
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39
Проверка статуса checkbox при xmlhttprequest vvsh AJAX и COMET 3 06.08.2009 15:51
Поиск фразы по тексту Pattern Events/DOM/Window 4 15.07.2009 11:15
Вывод данных единожды, при открытии окна? Ggorsh Events/DOM/Window 1 28.04.2009 01:04