Добавление класса из атрибута в BODY
немножко на говнокодил себе заготовку может кому то пригодится
суть такая: по клику, двойному клику, и на hover добавляется/убирается класс у BODY прописанный в атрибутах объекта . так намного гибче можно теперь добраться до всех элемента или до группы смотрите пример. За код не ругайте а поправляйте https://github.com/ur5fot/data-click-to-toggle-class http://codepen.io/ur5fot/pen/Lpaogv |
ur5fit,
зачем return? https://github.com/ur5fot/data-click...ddClass.js#L15 почему бы не остановить цикл break https://github.com/ur5fot/data-click...ddClass.js#L38 и нельзя создать множество независимых пар? или можно? |
за return надо обдумать но без него работает нормально.
извинение не понял "и нельзя создать множество независимых пар? или можно?". надо теперь написать для для свап, долгом нажатии, для мобильных устройств |
Цитата:
|
да суть такая (подсмотрена в WordPress) : у нас есть элементы у которых прописаны атрибуты data-click='click' или data-dblclick='dblclick'или data-hover='hover' , если произошло событие click, dblclick, hover то доставляется класс BODY за писаный в атрибуте соответствующему событию. мы пишем :
<div data-click='click'>data-click='click'</div> <div data-dblclick='dblclick'>data-dblclick='dblclick'</div> <div data-hover='hover'>data-hover='hover'</div> <div class="class1">click</div> <div class="class2">dblclick</div> <div class="class3">hover</div> .click .class1{ margin-top: 0px; opacity: 1; } .dblclick .class2{ top: 100px; } .hover .class3{ height: 100px; width: 100px; background: fuchsia; border-radius: 50%; } в атрибуты мы можем записывать любые классы можно управлять группой элементов так: .click .class1, .class2, .class3, .class4, .class5{ margin-top: 0px; opacity: 1; } или только некоторыми делать все что позволяет css вот три спойлера -- три ссылки каждая открывает свой div - можно? (но тут нужно будет отменить переход по ссылке) <a data-click='spoiler1' href='#'>spoiler1</a> <a data-click='spoiler2' href='#'>spoiler2</a> <a data-click='spoiler3' href='#'>spoiler3</a> <div class="class1">spoiler1 open</div> <div class="class2">spoiler2 open</div> <div class="class3">spoiler3 open</div> .class1{ display: none; } spoiler1 .class1 { display: block; } .class2{ display: none; } spoiler1 .class2 { display: block; } .class3{ display: none; } spoiler1 .class3 { display: block; } |
ur5fit,
ок |
не много подправил код
|
Часовой пояс GMT +3, время: 13:29. |