Изменение css свойств родителя onfocus:last-child
Доброго времени суток, есть такая конструкция:
#header nav ul li Нужно что бы при клике (:focus) на #header nav ul li:last-child у #header изменилось свойство width Есть какие идеи? |
karakym,
Пример текущего глянуть есть ? В принципе или какие-нидь хитрые велосипеды, или скрипт, посколь напрямую свойства родителя через css не правятся (исключая ИЕ) |
Как такого примера нет, есть сайт на котором нужно это сделать!
Вы поймете что такое #header Его width Нужно поменять на 100% что бы при клике сайдбар вылез на всю страницу! |
|
karakym,
А что после ? Ну выдвинется она на мгновение, и сразу перезагрузиться страница - фокус потерян... ? |
В начало body, после этого скрипта:
<script type="text/javascript"> $(document).ready(function(){ $('.spoiler_links').click(function(){ $(this).parent().children('div.spoiler_body').toggle('normal'); return false; }); }); </script> Поставьте такой: <script type="text/javascript"> $(document).ready(function(){ $('#nav ul>li>a').click(function (){ $('#header').css({'width':'100%'}); });}); </script> |
Deff,
Мне предложили такой вариант выполнения: https://jsfiddle.net/vv6e8786/1/ Но там не работает transition Поэтому жму "+" И еще вопрос, как бы сделать проверку на предмет нажатия кнопки ну типа var clck = 0 $(...).click() { if(clck == 1) { clck = 0 $(#header).css(...) ... Ну короче: при повторном нажатии стили меняются обратно (я с синтаксисом на ВЫ) |
Вот мой модифицированный код:
$(document).ready(function(){ $('#nav ul>li>a').click(function (){ $('#header').css({'width':'100%'}); $('#header').removeClass('hov'); $('#nav').css({'opacity':'0', 'visibility':'hidden'}); $('#logo').css({'text-align':'center', 'margin-top':'100px'}); $('#logo h1').css({'font-size':'2em'}); $('#logo p').css({'font-size':'1em'}); $('body').css({'overflow':'hidden'}); });}); |
$(document).ready(function(){ var clck = 0; $('#nav ul>li>a').click(function (){ if(clck == 0) { clck = 1; $('#header').css({'width':'100%'}); $('#header').removeClass('hov'); $('#nav').css({'opacity':'0', 'visibility':'hidden'}); $('#logo').css({'text-align':'center', 'margin-top':'100px'}); $('#logo h1').css({'font-size':'2em'}); $('#logo p').css({'font-size':'1em'}); $('body').css({'overflow':'hidden'}); } elseif(clck == 1) { clck = 0; $('#header').css({'width':'*stand*'}); $('#header').addClass('hov'); $('#nav').css({'opacity':'1', 'visibility':'visible'}); $('#logo').css({'text-align':'right', 'margin-top':'auto}); $('#logo h1').css({'font-size':'*stand*'}); $('#logo p').css({'font-size':'*stand*'}); $('body').css({'overflow':'auto'}); } });}); Там где указал *stand* нужно поставить исходные значение (которые были до первого нажатия), потому что у меня адаптивность потеряется. П.С. Где то в глубине мозга, в участках памяти про javascript и jquery я понимаю что это будет не то что надо, но может все же ошибаюсь!? |
Часовой пояс GMT +3, время: 18:09. |