Задание
- Создать раскрывающееся меню при клике
- Сделайте так, чтобы при прокрутке ниже элемента #avatar (картинка с Винни-Пухом) – он продолжал показываться в левом-верхнем углу. При прокрутке вверх – должен возвращаться на обычное место.
Решение
1.
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> .menu ul { margin: 0; list-style: none; padding-left: 20px; display: none; } .menu .title { font-size: 18px; cursor: pointer; } .menu .title::before { content: '▶ '; font-size: 80%; color: green; } .menu.open .title::before { content: '▼ '; } .menu.open ul { display: block; } </style> </head> <body> <div id="sweeties" class="menu"> <span class="title">Сладости (нажми меня)!</span> <ul> <li>Торт</li> <li>Пончик</li> <li>Пирожное</li> </ul> </div> <script> var menuElem = document.getElementById('sweeties'); var titleElem = menuElem.querySelector('.title'); titleElem.onclick = function() { menuElem.classList.toggle('open'); }; </script> </body> </html>
2.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> body, html { margin: 0; padding: 0; } .column-left { float: left; width: 30%; background: #aef; } .column-right { margin-left: 30%; width: 70%; background: tan; overflow: auto; /* расшириться вниз захватить float'ы */ } .header { line-height: 60px; background: yellow; } .inner { margin: 1em; font-size: 130%; } #avatar { float: left; margin: 0 1em .5em 0; border: 1px solid black; text-align: center; background: white; } .fixed { position: fixed; top: 0; left: 0; } </style> </head> <body> <div class="header">Шапка</div> <div class="column-left"> <div class="inner"> <h3>Персонажи:</h3> <ul> <li>Винни-Пух</li> <li>Ослик Иа</li> <li>Сова</li> <li>Кролик</li> </ul> </div> </div> <div class="column-right"> <div class="inner"> <h3>Винни-Пух</h3> <div id="avatar"> <img src="https://js.cx/clipart/winnie-mult.jpg" width="200" height="150"> <div>Кадр из мультфильма</div> </div> <p>Ви́нни-Пу́х (англ. Winnie-the-Pooh) — плюшевый мишка, персонаж повестей и стихов Алана Александра Милна (цикл не имеет общего названия и обычно тоже называется «Винни-Пух», по первой книге). Один из самых известных героев детской литературы XX века.</p> <p>В 1960-е—1970-е годы, благодаря пересказу Бориса Заходера «Винни-Пух и все-все-все», а затем и фильмам студии «Союзмультфильм», где мишку озвучивал Евгений Леонов, Винни-Пух стал очень популярен и в Советском Союзе.</p> <p>Как и многие другие персонажи книги Милна, медвежонок Винни получил имя от одной из реальных игрушек Кристофера Робина (1920—1996), сына писателя. В свою очередь, плюшевый мишка Винни-Пух был назван по имени медведицы по кличке Виннипег (Винни), содержавшейся в 1920-х в Лондонском зоопарке.</p> <p>Медведица Виннипег (американский чёрный медведь) попала в Великобританию как живой талисман (маскот) Канадского армейского ветеринарного корпуса из Канады, а именно из окрестностей города Виннипега. Она оказалась в кавалерийском полку «Форт Гарри Хорс» 24 августа 1914 года ещё будучи медвежонком (её купил у канадского охотника-траппера за двадцать долларов 27-летний полковой ветеринар лейтенант Гарри Колборн, заботившийся о ней и в дальнейшем). Уже в октябре того же года медвежонок был привезён вместе с войсками в Британию, а так как полк должен был быть в ходе Первой мировой войны переправлен во Францию, то в декабре было принято решение оставить зверя до конца войны в Лондонском зоопарке. Медведица полюбилась лондонцам, и военные не стали возражать против того, чтобы не забирать её из зоопарка и после войны[1]. До конца дней (она умерла 12 мая 1934 года) медведица находилась на довольствии ветеринарного корпуса, о чём в 1919 году на её клетке сделали соответствующую надпись. </p> <p>«Винни-Пух» представляет собой дилогию, но каждая из двух книг Милна распадается на 10 рассказов (stories) с собственным сюжетом, которые могут читаться, экранизироваться и т. д. независимо друг от друга. В некоторых переводах деление на две части не сохранено, в других не переведена вторая («Дом на Пуховой опушке»). Иногда первая и вторая книги выполнены разными переводчиками. Такова необычная судьба немецкого Винни-Пуха: первая книга вышла в немецком переводе в 1928 году, а вторая лишь в 1954; между этими датами — ряд трагических событий германской истории.</p> <p>Действие книг о Пухе происходит в 500-акровом лесу Эшдаун близ купленной Милнами в 1925 году фермы Кочфорд в графстве Восточный Сассекс, Англия, представленном в книге как Стоакровый лес (англ. The Hundred Acre Wood, в пересказе Заходера — Чудесный лес). Реальными являются также Шесть сосен и ручеёк, у которого был найден Северный Полюс, а также упоминаемая в тексте растительность, в том числе колючий утёсник (gorse-bush, чертополох у Заходера), в который падает Пух[2]. Маленький Кристофер Робин любил забираться в дупла деревьев и играть там с Пухом, поэтому многие персонажи книг живут в дуплах, и значительная часть действия происходит в таких жилищах или на ветвях деревьев[2]. Алан Милн, Кристофер Робин и Винни-Пух. Фотография из Британской национальной портретной галереи</p> <p>Действие «Винни-Пуха» разворачивается одновременно в трёх планах — это мир игрушек в детской, мир зверей «на своей территории» в Стоакровом лесу и мир персонажей в рассказах отца сыну (это наиболее чётко показано в самом начале)[4]. В дальнейшем рассказчик исчезает из повествования, и сказочный мир начинает собственное существование, разрастаясь от главы к главе[6]. Отмечалось сходство пространства и мира персонажей «Винни-Пуха» с классическим античным и средневековым эпосом[6]. Многообещающие эпические начинания персонажей (путешествия, подвиги, охоты, игры) оказываются комически малозначительными, в то время как настоящие события происходят во внутреннем мире героев (помощь в беде, гостеприимство, дружба)[6].</p> <p>Книги Милна выросли из устных рассказов и игр с Кристофером Робином; устное происхождение характерно и для многих других знаменитых литературных сказок[6]. «Я, собственно, ничего не придумывал, мне оставалось только описывать», как говорил впоследствии Милн[5]. Реальными игрушками Кристофера Робина были также Пятачок (подарок соседей), Иа-Иа без хвоста (ранний подарок родителей), Кенга с Крошкой Ру в сумке и Тигра (куплены родителями впоследствии специально для развития сюжета вечерних рассказов сыну). В рассказах они появляются именно в таком порядке[2]. Сову и Кролика Милн придумал сам; на иллюстрациях Шепарда они выглядят не как игрушки, а как настоящие животные, Кролик говорит Сове: «Только у меня и тебя есть мозги. У остальных — опилки». В процессе игры все эти персонажи получили индивидуальные повадки, привычки и манеру разговора[6]. На созданный Милном мир животных повлияла повесть Кеннета Грэма «Ветер в ивах», которой он восхищался и которую ранее иллюстрировал Шепард[5], возможна также скрытая полемика с «Книгой джунглей» Киплинга[5]. Текст взят из Википедии.</p> </div> </div> <script> var avatarElem = document.getElementById('avatar'); var avatarSourceBottom = avatarElem.getBoundingClientRect().bottom + window.pageYOffset; window.onscroll = function() { if (avatarElem.classList.contains('fixed') && window.pageYOffset < avatarSourceBottom) { avatarElem.classList.remove('fixed'); } else if (window.pageYOffset > avatarSourceBottom) { avatarElem.classList.add('fixed'); } }; </script> </body> </html>