powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Jquery. Позиционирование элемента.
4 сообщений из 4, страница 1 из 1
Jquery. Позиционирование элемента.
    #39014965
Малыш456
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите пожалуйста разобраться. Хочу следующее.
При клике на объект, в зависимости от того, в левой или в правой части браузера он находится, сдвинуть его сестринский элемент относительно текущего местоположения. Если объект находится с левой части экрана – местоположение сестринского элемента не меняем, если в правой – сдвигаем сестринский элемент в лево на ширину этого элемента.

HTML:
Код: css
1.
2.
3.
4.
5.
6.
<style type="text/css">
.content {
	position:absolute;
        width:400px;
}
</style>


Код: html
1.
2.
3.
4.
<div>
        <span class='kn'>КНОПКА</span>
	<div class='content'>тут текст</div>
</div>



JavaScript:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$('.kn').click (function() {
var $offset_left = $(this).offset().left;
var $offset_top = $(this).offset().top;
var $document_width = $(document).width();
var $content_width = $(this).parent().find('.content').outerWidth();		
        if ($offset_left <= $document_width/2) {
                $(this).parent().find('.content').css( {'left': $offset_left} );
        }
	else {
                $(this).parent().find('.content').css( {'left': $offset_left - $content_width} );
	}
});


В результате работы этой конструкции происходит какой-то дурдом. <div class='content'> бессистемно прыгает. Чтоб поставить элемент на прежнее место пробую значения находящиеся в переменных вставить в .offset({top: $offset_top, left:$offset_left}). Безрезультатно. Манипулирую разными единицами измерения – все тщетно. <div class='content'> бессистемно прыгает. Вопрос. В каких единицах возвращает значения функция offset()? Что я делаю не так?
Заранее спасибо
...
Рейтинг: 0 / 0
Jquery. Позиционирование элемента.
    #39014966
Малыш456
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Более того. Кликаю несколько раз подряд по <span class='kn'>. Срабатывает конструкция $(this).parent().find('.content').css( {'left': $offset_left } ); <div class='content'> позиционируется в разных местах. При этом значение $offset_left остается одно и тоже. Парадокс.
...
Рейтинг: 0 / 0
Jquery. Позиционирование элемента.
    #39015482
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Малыш456,

"Если объект находится с левой части экрана – местоположение сестринского элемента не меняем..."
тогда зачем вот это :
Код: javascript
1.
$(this).parent().find('.content').css( {'left': $offset_left} );
...
Рейтинг: 0 / 0
Jquery. Позиционирование элемента.
    #39015493
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: javascript
1.
2.
3.
4.
5.
6.
        if ($offset_left <= $document_width/2) {
                $(this).parent().find('.content').css('left', $offset_left + 'px');
        }
	else {
                $(this).parent().find('.content').css('left', $offset_left - $content_width + 'px');
	}
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Jquery. Позиционирование элемента.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]