2011-12-15 3 views
1

У меня есть этот кодПолучение эффекта дерева с JQuery

$('.children a:first').css({'top':'0px','left':'100px'}); 
$('.children a:eq(1)').css({'top':'20px','left':'120px'}); 
$('.children a:eq(2)').css({'top':'40px','left':'140px'}); 
$('.children a:last').css({'top':'60px','left':'160px'}); 

Можно ли изменить это в функцию и указать смещение? Попытка выяснить, могу ли я сделать что-то, что будет проходить через каждый элемент «a» под .children и удваивать верхние и левые свойства.

+1

Не можете ли вы использовать вложенные 'ul' для получения древовидной структуры? http://jsfiddle.net/7PXBD/ – PeeHaa

ответ

0

Вот рабочий пример: http://jsfiddle.net/WUMtp/

$('.children a').each(function(i){ 
    $(this).css({top: i*20, left: i*20 + 100}); 
}); 

Трюк является i, что мы переходим в анонимной функции внутри .each(). i будет начинаться как 0 и увеличиваться на 1 каждый раз, когда цикл .each() начинает другую итерацию. Оттуда это просто базовая математика.

+0

спасибо, что помогли мне, это отлично работает: D – Koder

Смежные вопросы