Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поиск по тексту при owerflow:hidden (https://javascript.ru/forum/misc/6897-poisk-po-tekstu-pri-owerflow-hidden.html)

Aetae 02.01.2010 23:31

Поиск по тексту при 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 04.01.2010 21:59

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

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

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

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

Aetae 09.01.2010 02:46

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

Глупая блин проблема на самом деле, и не особо важная, но хочется чтоб всё было как надо.=\

RazZzeR 08.01.2012 14:33

я намучался нормально с оверфлов.

Aetae 08.01.2012 15:45

Нашли древность.))
Мне за эти посты стыдно)

Livaanderiamarum 08.01.2012 20:09

Цитата:

Сообщение от Aetae (Сообщение 148870)
Нашли древность.))
Мне за эти посты стыдно)

Мне тоже за них стыдно))))))))

Aetae 08.01.2012 20:34

А мне то как за твои стыдно....

Livaanderiamarum 08.01.2012 20:37

Цитата:

Сообщение от Aetae (Сообщение 148944)
А мне то как за твои стыдно....

Мне за свои и щас стыдно порой)
вроде 5 лет JS знаю а иногда так фейлю)

Livaanderiamarum 08.01.2012 20:38

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


Часовой пояс GMT +3, время: 22:07.