Сайты - по стандартам, но не стандартные сайты!
Как сделать так, что при клике на ссылку менялся цвет и body и всех ссылок в документе (или родителе)
Сейчас делаю так:
$('a.black').click(function(){ $('body').css({ color: "#fff", background: "#000" }); }); $('a.black').click(function(){ $('a').css({ color: "#fff", }); });
Получается как то гомоздко, есть другие варианты?
Отредактированно tapazukk (27.02.2012 12:34)
Нет на форуме
Наверное, просто назначить BODY класс, к которому уже привязаны любые нужные стили для любых элементов. ;-)
Нет на форуме
как вариант
Нет на форуме
$('a.black').click(function(){
$('body').css({color: "#fff",background: "#000"})
.find('a').css({color: "#fff",});
});
Нет на форуме
хм, а как же псевдоклассы ссылок?
более правильно будет сделать так
CSS:
body { background: #fff; } a:link, a:visited { color: #000; } .invert { background: #000; } .invert a:link, .invert a:visited { color: #fff; }
JavaScript:
$(document).ready(function(){ $('#black').click(function(){ $('body').attr('class') = 'invert'; }); });
самое главное всегда стремится как можно более сильно разделять ксс и ява скрипт, как когда-то начинали отделять содержание и оформление, благо почти все это уже научились делать) теперь делают подобные ошибки в случае с явой и ксс...
(x)HTML
Отредактированно Octane (20.03.2012 18:51)
Нет на форуме
1 но:
$(document).ready(function(){ $('#black').click(function(){ $('body').addClass('invert'); // или toggleClass }); });
Нет на форуме
Кстати, возможно это мои кривые руки, но.
К примеру есть код
Нет на форуме
Xexe написал:
Код:
.myDiv.jsAddClass
Для чего это?
Нет на форуме
ну у нас есть блок, у которого есть обычные стили. Эти стили (не все) меняются при неком событии. Поэтому ему дописываем класс скриптом и этому классу дополнительные или измененные стили. Кроме того у него есть дочерний или просто потомок, который тоже изменяется при этом же событии.
Нет на форуме