javascript - How can I leave the animations in the mobile version of my navigation only -
i have animated footer navigation accordion style menu , have tried remove animation effects desktop version adding if statement identify whether window proper size, desktop size animates well. 'javascript media query' approach correct way this, or there better way?
$(function() { var accordion = function(el, multiple) { this.el = el || {}; this.multiple = multiple || false; var link = this.el.find('.link'); if ($(window).width() > 960) { link.on('click', { el: this.el, multiple: this.multiple }, this.dropdown) } } accordion.prototype.dropdown = function(e) { var $el = e.data.el; $this = $(this), $next = $this.next(); $next.slidetoggle(); $this.parent().toggleclass('open'); if (!e.data.multiple) { $el.find('.submenu').not($next).slideup().parent().removeclass('open'); } } var accordion = new accordion($('#accordion'), false); }); .accordion { width: 100%; margin: 3em auto 2em; background: #242935; .link { font-size: 0.85em; font-weight: 700; background: #242935; color: #fff; cursor: pointer; padding: 15px 15px 15px 3em; border-bottom: 1px solid #ccc; display: block; position: relative; } li { position: absolute; top: 12px; left: 16px; font-size: 1em; color: #fff; } } .submenu { display: block; background: #858f98; font-size: 0.95em; li { border-bottom: 1px solid #4b4a5e; } { display: block; text-decoration: none; color: #d9d9d9; padding: 12px; padding-left: 3.5em; } } /*========== non-mobile first method ==========*/ /* large devices, wide screens */ @media screen , (min-width: 1200px) {} /* medium devices, desktops */ /* portrait , landscape */ @media screen , (min-width: 960px) { .accordion { .link { color: #fff; cursor: pointer; padding: 0; border-bottom: 0; } li { float: left; } li:last-child .link { border-bottom: 0; } li { display: none; } } .submenu { display: block !important; float: left; font-size: 0.95em; position: relative; li { border-bottom: 0; width: 100%; } { color: #fff; padding-left: 0; text-decoration: none; } } } @media screen , (min-device-width: 375px) , (max-device-width: 667px) , (-webkit-min-device-pixel-ratio: 2) { .accordion { width: 100%; margin: 3em auto 2em; background: #242935; .link { font-size: 0.85em; font-weight: 700; background: #242935; color: #fff; cursor: pointer; padding: 15px 15px 15px 3em; border-bottom: 1px solid #ccc; display: block; position: relative; -webkit-transition: 0.4s ease; -moz-transition: 0.4s ease; -moz-transition: 0.4s ease; -o-transition: 0.4s ease; transition: 0.4s ease; } li:last-child .link { border-bottom: 0; } li { position: absolute; top: 12px; left: 16px; font-size: 1em; color: #fff; -webkit-transition: 0.4s ease; -moz-transition: 0.4s ease; -o-transition: 0.4s ease; transition: 0.4s ease; } li.open i.fa-chevron-down { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } li i.fa-chevron-down { right: 12px; left: auto; font-size: 1.2em; } } .submenu { display: none; background: #858f98; font-size: 0.95em; li { border-bottom: 1px solid #4b4a5e; } { display: block; text-decoration: none; color: #d9d9d9; padding: 12px; padding-left: 3.5em; -webkit-transition: 0.25 ease; -moz-transition: 0.25 ease; -o-transition: 0.25 ease; transition: 0.25 ease; } } } /* small devices, phones */ @media screen , (max-width: 480px) {} /* custom, iphone retina */ @media screen , (max-width: 320px) {} <ul id="accordion" class="accordion"> <div class="container-fluid"> <div class="row"> <li class="col-md-3 col-sm-12"> <div id="footer-heading" class="link">about<i class="fa fa-chevron-down"></i> </div> <ul class="submenu"> <li><a href="#">submenu 1</a> </li> <li><a href="#">submenu 1</a> </li> <li><a href="#">submenu 1</a> </li> <li><a href="#">submenu 1</a> </li> </ul> </li> <li class="col-md-3 col-sm-12"> <div id="footer-heading" class="link">services<i class="fa fa-chevron-down"></i> </div> <ul class="submenu"> <li><a href="#">submenu 2</a> </li> <li><a href="#">submenu 2</a> </li> <li><a href="#">submenu 2</a> </li> <li><a href="#">submenu 2</a> </li> </ul> </li> <li class="col-md-3 col-sm-12"> <div id="footer-heading" class="link"> </i>support<i class="fa fa-chevron-down"></i> </div> <ul class="submenu"> <li><a href="#">submenu 3</a> </li> <li><a href="#">submenu 3</a> </li> <li><a href="#">submenu 3</a> </li> <li><a href="#">submenu 3</a> </li> </ul> </li> <li class="col-md-3 col-sm-12"> <div id="footer-heading" class="link">contact us<i class="fa fa-chevron-down"></i> </div> <ul class="submenu"> <li><a href="#">submenu 4</a> </li> <li><a href="#">submenu 4</a> </li> <li><a href="#">submenu 4</a> </li> <li><a href="#">submenu 4</a> </li> </ul> </li> </div> <!--end row--> </div> <!--end container-fluid--> </ul> here example on codepen
Comments
Post a Comment