Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2011, 21:24
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

как отпозиционировать элемент по верхнему краю экрана?
Доброго времени. Ищу решение в поиске, но натыкаюсь только на плагины.
возможно ли на базовом jquery просто узнать расстояние между началом документа и верхним краем экрана? ЧТобы в любом месте страницы с прокруткой можно было например вызвать див и он начинался от верхнего края экрана браузера?

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2011, 21:53
Профессор
Отправить личное сообщение для Триви Посмотреть профиль Найти все сообщения от Триви
 
Регистрация: 23.04.2010
Сообщений: 354

$(element).offset().top;
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2011, 22:24
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от shaltay
начинался от верхнего края экрана браузера?
Например для элементов с
position: fixed;

даже искать ничего не нужно будет. Их координаты отсчитываются от начала окна...
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2011, 13:41
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

Нет, к сожалению, фиксед мне не нужен. Нужна прокрутка.

Я так понял, что offset() отсчитывает расстояние от начала документа до определенного элемента. А у меня нет элементов. Мне нужно показать див, который display: none; и лежит в корне дома. И когда он показывается, яваскриптом считается расстояние от начала документа до верхнего края окна браузера.
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2011, 14:06
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

shaltay, наверное нечто такое тебе подойдёт...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
#container {
	position: relative;
	width: 200px;
	height: 200px;
	overflow: auto;
}
#test {
	width: 10000px;
	height: 10000px;
}
#mess {
	position: absolute;
	width: 50px;
	height: 50px;
	border: 1px solid;
	display: none;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
	$("#test").click(function() {
		var o=$("#container").get(0)
		$("#mess").css('top',o.scrollTop+'px').css('left',o.scrollLeft+'px');
		$("#mess").show();
	});
});
</script>
</head>
<body>
<div id='container'>
	<div id='test'>Test...</div>
	<div id='mess'>Ok!</div>
</div>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 21.10.2011, 15:30
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

что-то у меня не сработало. Првда у меня jquery полугодичной давности.
Ответить с цитированием
  #7 (permalink)  
Старый 21.10.2011, 15:55
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

Спасибо. Немного упростил код.
function popup(){
		 var o=$("body").get(0)
	         $("#div").css('top',o.scrollTop+'px');
                 $("#div").fadeIn();
}


Теперь заработало!
Ребята, ловите плюсы!
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2011, 15:56
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Мой пример полностью рабочий... И ЖиКвери там вызывается последний...
Ответить с цитированием
  #9 (permalink)  
Старый 21.10.2011, 15:57
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от shaltay
Ребята, ловите плюсы!
Что-то не заметил прибавления...
Ответить с цитированием
  #10 (permalink)  
Старый 21.10.2011, 16:17
Кандидат Javascript-наук
Отправить личное сообщение для shaltay Посмотреть профиль Найти все сообщения от shaltay
 
Регистрация: 28.02.2011
Сообщений: 134

Сообщение от ksa Посмотреть сообщение
Что-то не заметил прибавления...
Ну, может кто-то другой убавил?)))

В общем, странная штука стала происходить - после закрытия дива (hide) - страница перематывается на начало. Это очень плохо. Чтобы поделать в этом случае? И почему так происходит?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ссылка как элемент oleg666 jQuery 2 06.09.2011 17:57
Как удалить элемент из дерева DOM dummer jQuery 13 16.01.2011 16:19
имея this как удалить элемент из тела html clgs Общие вопросы Javascript 1 13.05.2009 17:55
Срабатывание события при подведении к краю экрана Destrifer Общие вопросы Javascript 2 08.01.2009 15:12
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11