тогда добавь классы каждому li (можно даже с помощью простенького jquery-кода)
for (var i = 1; i < $("#social ul li").length; i++) {
$("#social ul li:nth-child("+i+")").addClass("item"+i);
}
после этого у тебя у каждого элемента добавится класс item1, item2, item3, item4...
далее легко выбрать этот селектор с помощью css
Иван Седельников: важен именно порядок! если ты будешь писать так ":nth-child(1).active", то всё будет работать. а если наоборот ".active:nth-child(1)" - тогда, естесственно, нет.
у первого спана ставим float: left, у второго float: right.
а дальше jquery
$("второй спан").each(function(){
$(this).width(($(this).parent().width())-($(this).prev().width())); //ширина второго спана = ширина родителя минус ширина предшественника
});
дело не в этом. прочитайте всё-таки пост и мои наблюдения производительности. есть сайты, в которых по 10-12 параллаксовых слоёв с hd png-файлами - и они прорисовываются четко. А у меня всего 1 слой с одной картинкой.
из моего первого поста: "Тестировал в Google Chrome Developers Tools, Timeline почти вся прозрачная - Хром прорисовывает всё мгновенно."
YemSalat: у вас никогда не случалось наблюдать, что серверы гугл тормозят очень жестко? скрипт аналитики грузится до 30 секунд, шрифты не подгружаются по столько же? Вы живете в крупном городе, где всегда стабильный интернет и "широкие" каналы. И вы даже не подозреваете, что есть города, где еще не проведено оптиковолокно (такие есть? - да, да!), или есть только мобильный интернет? А я знаю не один город, в которых серверы гугл тормозят страшно. И даже несколько стран Средней Азии, в которых на сайты гугла вообще стоит ограничение скорости (ну или ограничение одновременных хостов - не разбираюсь хорошо в этой теме, но это факт!)
Поэтому я использую всё-таки не синицу в небе, а ту птицу, что к руках...
Да да, всё дело в глубокой психологической травме...
Спасибо всем за дискуссию. Советую вам всем просто переспать с новой для вас идеей: "названия переменных действительно почти нихрена не значат". Некоторые из вас при разработке следующего проекта начнут пользоваться этой техникой (пусть и частично) и внезапно поймут, что к вечеру меньше устают, укладываются в сроки и стали не такими педантичными, как были до этого, и теперь могут уделять внимание действительно важным делам...
...А там и до прибавке к зарплате не далеко.
вам всем нужно попробовать взяться за задачу, когда от вас требуют разобраться в компрессированном коде. тогда вся ваша педантичность уйдёт и вы начнете тратить выделенные на вас деньги на работу, а не на придумывание значимых переменных.
function cb(a, c) {
a.dataFilter && (c = a.dataFilter(c, a.dataType));
var d = a.dataTypes,
e = {},
g, h, i = d.length,
j, k = d[0],
l, m, n, o, p;
for (g = 1; g < i; g++) {
if (g === 1)
for (h in a.converters) typeof h == "string" && (e[h.toLowerCase()] = a.converters[h]);
l = k, k = d[g];
if (k === "*") k = l;
else if (l !== "*" && l !== k) {
m = l + " " + k, n = e[m] || e["* " + k];
if (!n) {
p = b;
for (o in e) {
j = o.split(" ");
if (j[0] === l || j[0] === "*") {
p = e[j[1] + " " + k];
if (p) {
o = e[o], o === !0 ? n = p : p === !0 && (n = o);
break
}
}
}
}!n && !p && f.error("No conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c)))
}
}
return c
}
var оченьЗначимаяПеременная = число*число/объект.метод; /* эта переменная определяет то-то-то */
В какую часть этой строки вы смотрите в первую очередь? Не обманывайте себя. Разбирая чужой код вы смотрите на строку в такой очередности:
1. правая часть (после = )
2. комментарий
3. название переменной.
На 1 этапе мы узнали, что вычисляет и содержит переменная. Мы знаем зачем она. Нам не нужны этапы 2 и 3.
Чё дальше себе голову-то пудрить?
Вы плохой разработчик и зря расходуете деньги, выделенные на саппорт, если видите код по-другому.
to all: toster.ru/js/lib/adriver.core.2.js - ткнул в первый попавшийся скрипт из исходного кода на уважаемом нами всеми сайте. Подсветите с помощью Ctrl+F фразу "var " и посмотрите, какие варианты предложит вам код. Длиннее одной двух букв переменных нет.
Александр Аксентьев: для других разработчиков нужно оставлять /*комменты*/. А в названиях переменных смысла нет. Ну, тут уже можно долго обсуждать это дело. Я считаю, что придумывание названий для переменных занимает много времени, если пытаться называть их как-то "значимо". лучше прокомментить нужные строки, чтобы потом и самому было удобно, и другим.
Но ты можешь продолжать называть переменные как тебе угодно :) Стремиться называть их и логично, и не длиннее 8 символов (где-то читал, что это чем-то лучше), и упрямо доказывать, что использовать заглавные символы - это плохой тон... У каждого свой подход.
мм, так даже интереснее. Но чтобы не "ломать" размеры блоков (не добавлять шапку), может быть название виде сделать на полупрозрачной подложке прямо над картинкой?
for (var i = 1; i < $("#social ul li").length; i++) {
$("#social ul li:nth-child("+i+")").addClass("item"+i);
}
после этого у тебя у каждого элемента добавится класс item1, item2, item3, item4...
далее легко выбрать этот селектор с помощью css