Javascript.RU

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

Позиция элемента карусели
Проблема заключаетса в следующим:
с помощю скрипта нужно вияснять позицию элемента li карусели "jcarousel" относительно родителя, чтобы присвоить элементам, которые находятся левее некий клас.

когда пишу:
console.log($("#one").position().left);

<ul>
   <li id="one">
      ...
   <li>
   <li>
      ...
   <li>
   <li>
      ...
   <li>
</ul>

видает в косоли 59px, причом любому элементу li.
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2012, 17:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Bogdan,
id элемента должно быть единственным и неповторимым - на то и id
пользуйтес либо нумерацией id с наращиванием, либо идентифицируйте по классу или атрибуту
А так по id брауз считает его единственным и считывает первый элемент
Ответить с цитированием
  #3 (permalink)  
Старый 31.07.2012, 00:47
Новичок на форуме
Отправить личное сообщение для Bogdan Посмотреть профиль Найти все сообщения от Bogdan
 
Регистрация: 30.07.2012
Сообщений: 4

Так не в том суть, Deff. Вот присваиваю id="one" другому li (и только ему) и получаю тоже результат 59px. В чем дело?
Ответить с цитированием
  #4 (permalink)  
Старый 31.07.2012, 02:44
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Bogdan,
Не видя сайта - лечить зубы по фото - тяжело - или выкладывайте полный код - вона у мну телек тож барахлит - не подскажете в чём причина ?

Последний раз редактировалось Deff, 31.07.2012 в 02:47.
Ответить с цитированием
  #5 (permalink)  
Старый 31.07.2012, 15:05
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Bogdan
Так не в том суть, Deff. Вот присваиваю id="one" другому li (и только ему) и получаю тоже результат 59px. В чем дело?
А вы как-то особым образом позиционировали эти элементы <li>, чтобы они у вас как-то по-разному располагались

PS: Deff, не видя фото - лечить сайт по зубам - ещё тяжелее (но бывает интересно)
Ответить с цитированием
  #6 (permalink)  
Старый 31.07.2012, 15:38
Новичок на форуме
Отправить личное сообщение для Bogdan Посмотреть профиль Найти все сообщения от Bogdan
 
Регистрация: 30.07.2012
Сообщений: 4

Сообщение от bes Посмотреть сообщение
А вы как-то особым образом позиционировали эти элементы <li>, чтобы они у вас как-то по-разному располагались
ну по логике каждый элемент li должен иметь разную позицию left относительно родителя. тоесть первый, припустим, 0px, второй 125px, третий 250px и тд. Или я не правильно понимаю функцию .position() ?
Ответить с цитированием
  #7 (permalink)  
Старый 31.07.2012, 16:40
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

http://jquery.page2page.ru/index.php...BD%D1%82%D0%B0
вы лишь получаете значение координаты left, так с чего бы им измениться
Вот, top, например, у них разный (проверьте)
Ответить с цитированием
  #8 (permalink)  
Старый 01.08.2012, 00:56
Новичок на форуме
Отправить личное сообщение для Bogdan Посмотреть профиль Найти все сообщения от Bogdan
 
Регистрация: 30.07.2012
Сообщений: 4

понятно. подскажите тогда, как правильно записать в переменную left для ul (в карусели это значение динамично).

var ul = $("#ul").offset().left;

или
var ul = $("#ul").css("left", "");

что-то в этом роде, но не то
Ответить с цитированием
  #9 (permalink)  
Старый 01.08.2012, 10:57
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Вы по ссылке ходили, там даже пример есть?
<script src="http://code.jquery.com/jquery-latest.js"></script>

<ul>
	<li>1
	<li>2
	<li>3
</ul>

<ul id="ul">
	<li>1
	<li>2
	<li>3
</ul>

<script>
$(function () {
	$('#ul').offset({left: 100})
})
</script>


PS: Если вы меня на jquery тестируете, то я его не знаю, также взял набрал в поиске и почитал
Ответить с цитированием
  #10 (permalink)  
Старый 01.08.2012, 11:11
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Bogdan,
Хм = тут вопросов два
1. Получить значение отступов элемента => http://jquery-docs.ru/CSS/offset/

2. Установить/получить css -атрибут left => http://jquery-docs.ru/CSS/css/#namevalue

Хотя - имхо Вам нужен не left - а margin-left ( *но может я ошибаюсь - я не наю логики Вашего скрипта - впрочем и не жажду узнать

Последний раз редактировалось Deff, 01.08.2012 в 11:14.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Абсолютная позиция элемента на странице Ponomareva_AS Общие вопросы Javascript 2 16.01.2012 18:35
Как то можно узнать ID HTML элемента вызвавшего JavaScript функцию? Opusel Events/DOM/Window 1 18.12.2011 18:36
Браузер не успевает определить высоту вновь созданного через XMLHttpRequest элемента Lockpickup AJAX и COMET 17 25.04.2011 17:58
Позиция элемента при Draggable bayrach jQuery 1 11.04.2011 11:19
помогите "уловить" момент появления элемента Bebarr Swallow Events/DOM/Window 4 18.03.2011 08:16