Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Позиция элемента карусели (https://javascript.ru/forum/dom-window/30287-poziciya-ehlementa-karuseli.html)

Bogdan 30.07.2012 16:25

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

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

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

видает в косоли 59px, причом любому элементу li.

Deff 30.07.2012 17:51

Bogdan,
id элемента должно быть единственным и неповторимым - на то и id
пользуйтес либо нумерацией id с наращиванием, либо идентифицируйте по классу или атрибуту
А так по id брауз считает его единственным и считывает первый элемент

Bogdan 31.07.2012 00:47

Так не в том суть, Deff. Вот присваиваю id="one" другому li (и только ему) и получаю тоже результат 59px. В чем дело?

Deff 31.07.2012 02:44

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

bes 31.07.2012 15:05

Цитата:

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

А вы как-то особым образом позиционировали эти элементы <li>, чтобы они у вас как-то по-разному располагались

PS: Deff, не видя фото - лечить сайт по зубам - ещё тяжелее :) (но бывает интересно)

Bogdan 31.07.2012 15:38

Цитата:

Сообщение от bes (Сообщение 193254)
А вы как-то особым образом позиционировали эти элементы <li>, чтобы они у вас как-то по-разному располагались

ну по логике каждый элемент li должен иметь разную позицию left относительно родителя. тоесть первый, припустим, 0px, второй 125px, третий 250px и тд. Или я не правильно понимаю функцию .position() ?

bes 31.07.2012 16:40

http://jquery.page2page.ru/index.php...BD%D1%82%D0%B0
вы лишь получаете значение координаты left, так с чего бы им измениться
Вот, top, например, у них разный (проверьте)

Bogdan 01.08.2012 00:56

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

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

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

что-то в этом роде, но не то :)

bes 01.08.2012 10:57

Вы по ссылке ходили, там даже пример есть?
<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 тестируете, то я его не знаю, также взял набрал в поиске и почитал :)

Deff 01.08.2012 11:11

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

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

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


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