Maria Gonzalez Posted May 13, 2015 Share Posted May 13, 2015 (edited) Hola, tengo un problema con el menu de categorias, en la vista para mobil, cuando clico en la categoria "WASHITAPE" , recarga la pagina y muestra las subcategorias como imagenes miniatura, lo que quiero es que se desplegue el menu y muestre las subcategorias directamente (sin recargar la pagina). El prestashop por defecto lo hace asi, pero algo he debido de cambiarf para estropearlo.... que he hecho mal ? que debo hacer? Mi web es: cxzcxzcz El codigo : /*** ESSENTIAL STYLES ***/ .sf-contener { clear: both; } .sf-right { margin-right: 14px; float: right; width: 7px; } .sf-menu, .sf-menu * { margin: 0; padding: 0px 0px 0px 0px; list-style: none; } .sf-menu { margin: 10px 0; padding:0px 0px 0px 0px; width:980px;/* 980 */ background: #383838; /* @media (max-width: 450px) { .sf-menu { display: none; } */ } .sf-menu ul { position: absolute; top: -999em; width: 10em; /* left offset of submenus need to match (see below) */ } @media (max-width: 767px) { .sf-menu ul { position: relative; } } .sf-menu ul li { width: 100%; } .sf-menu li ul { display: none; } .sf-menu li:hover { visibility: inherit; /* fixes IE7 'sticky bug' */ } .sf-menu li { float: left; position: relative; top: 0; /*border-right: 1px solid #777;*/ } .sf-menu a { display: block; position: relative; color:#fff; } .sf-menu li:hover ul, .sf-menu li.sfHover ul { left: 0; /*padding: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;*/ top: 35px; /* match top ul list item height */ z-index: 99; width:auto; } ul.sf-menu li:hover li ul, ul.sf-menu li.sfHover li ul { top: -999em; } ul.sf-menu li li:hover ul, ul.sf-menu li li.sfHover ul { left: 200px; /* match ul width */ top: 0; } ul.sf-menu li li:hover li ul, ul.sf-menu li li.sfHover li ul { left: 200px; /* match ul width */ top: 0; } ul.sf-menu li li li:hover ul, ul.sf-menu li li li.sfHover ul { left: 200px; /* match ul width */ top: 0; } /*** DEMO SKIN ***/ .cat-title { display: none; } .sf-menu { float: left; margin-bottom: -2em; width: 100%; height: 75px; background: url('http://www.cxzcxz.com/themes/cxzczx/img/cabecera.png') repeat left center; } .sf-menu a { position: relative; top: 20px; display:block; margin-right:2px; padding: 0 22px 0 20px; line-height:35px; border: 10; text-decoration:none; text-transform: uppercase; font-family:Handlee; font-size: 18px; font-weight: bold; } .sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/ color: #916e6e; white-space:nowrap; } .sf-menu li ul { border:1px solid #f1b6b1; box-shadow:2px 2px 4px rgba(0,0,0,0.25); width:500px; padding: 0; margin: 23px 0px 0px 0px; top:0; background: white; } .sf-menu li li { background: white; position: relative; top: 0; height:35px; line-height:35px; padding: 0; margin: 0px 0px 0px 0px; } .sf-menu li li a { font-size: 16px; text-transform: capitalize; top:0; } ul.sf-menu li a { padding-right: 2.25em; min-width: 1px; } ul.sf-menu li:first-child a { padding-right: 2.25em; min-width: 1px; } /* ul.sf-menu li a { padding-right: 2.25em; min-width: 1px; padding-top: 20px; margin-top: -20px; } */ .sf-menu li li li { background: white; width:140px; } .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active { font-weight: bold; color: white; background: url('http://www.cxzccxz.com/themes/cxczx/img/boton-b.png') no-repeat center 0px; } .sf-menu ul li:hover, .sf-menu ul li.sfHover, .sf-menu ul li a:focus, .sf-menu ul li a:hover, .sf-menu ul li a:active { background: #eecfd0; //#4e4e4e; outline: 0; } /*** arrows **/ .sf-menu a.sf-with-ul { padding-right: 2.25em; min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */ } .sf-sub-indicator { position: absolute; display: block; right: 10px; top: 1.05em; /* IE6 only */ width: 10px; height: 35px; text-indent: -999em; overflow: hidden; background: url('../img/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */ } a > .sf-sub-indicator { /* give all except IE6 the correct values */ top: 11px; background-position: 0 -100px; /* use translucent arrow for modern browsers*/ } /* apply hovers to modern browsers */ a:focus > .sf-sub-indicator, a:hover > .sf-sub-indicator, a:active > .sf-sub-indicator, li:hover > a > .sf-sub-indicator, li.sfHover > a > .sf-sub-indicator { background-position: -10px -100px; /* arrow hovers for modern browsers*/ } /* point right for anchors in subs */ .sf-menu ul .sf-sub-indicator { background-position: -10px 0; } .sf-menu ul a > .sf-sub-indicator { background-position: 0 0; } /* apply hovers to modern browsers */ .sf-menu ul a:focus > .sf-sub-indicator, .sf-menu ul a:hover > .sf-sub-indicator, .sf-menu ul a:active > .sf-sub-indicator, .sf-menu ul li:hover > a > .sf-sub-indicator, .sf-menu ul li.sfHover > a > .sf-sub-indicator { background-position: -10px 0; /* arrow hovers for modern browsers*/ } /*** shadows for all but IE6 ***/ .sf-shadow ul { background: url('../img/shadow.png') no-repeat bottom right; padding: 0 8px 9px 0; -moz-border-bottom-left-radius: 17px; -moz-border-top-right-radius: 17px; -webkit-border-top-right-radius: 17px; -webkit-border-bottom-left-radius: 17px; } .sf-shadow ul.sf-shadow-off { background: transparent; } li.sf-search { background: inherit; float: right; line-height: 25px; background:transparent; } li.sf-search input { -moz-border-radius: 0 5px 5px 0; padding: 5px 0; position: relative; top: 1px; padding-left: 30px; margin: 18px 6px 0 0; background: #fff url('../../../../img/search-zoom3.png') no-repeat left center; border:1px solid #777; } /* hack IE7 */ .sf-menu a, .sf-menu a:visited {height:34px !IE;} .sf-menu li li { width:200px; background:#726f72 !IE; } #block_top_menu .category-thumbnail { display:none; clear: both; width: 100%; float: none; } #block_top_menu .category-thumbnail div { float: left; width: 33.33333%; } #block_top_menu .category-thumbnail div img { max-width: 100%; } #block_top_menu li.category-thumbnail { padding-right: 0; } /* Mobile Item */ .sf-menu-phone-item { display:none; } #sf-menu-phone-trigger { display:none; position:absolute; top:7px; right:0; background:url('http://www.cxzczx.com/themes/cxzcxz/img/icon-mobile-nav.png') top right no-repeat #29addd; width:50px; height:50px; text-indent:-9999px; border-radius:3px; -webkit-transition: all 0.5s ease 0s; -moz-transition: all 0.5s ease 0s; -o-transition: all 0.5s ease 0s; transition: all 0.5s ease 0s; } #sf-menu-phone-trigger:hover { background-color:#333; } #sf-menu-phone-trigger.active { background-position:bottom right; } @media only screen and (max-width: 999px) { .sf-menu a, .sf-menu a:visited {font-size:13px;} } /* Tablet Only Queries */ @media only screen and (min-width: 531px) and (max-width: 786px) { .sf-menu a, .sf-menu a:visited {font-size:12px;} } /* Phone Only Queries */ @media only screen and (max-width: 767px) { .sf-menu a{ top:5px; } #sf-menu-header {height:auto; } #sf-menu-top-nav {; margin-right:-2%;} /*.sf-menu {display:none; } */ .sf-menu {width:100%; height:auto; margin:10px 0 0 0; position:static !important} .sf-menu li {width:100%; background:#f4f4f4; border-top:1px solid #fff !important; border-bottom:1px solid #999 !important; -webkit-border-radius:0; border-radius:0; } .sf-menu li:hover {background:#de8686;} .sf-menu li ul {width:100%; position:static !important; background:#ccc;} .sf-menu li li {width:100% !important; background:#ccc; } /*.sf-menu li li li {display:none !important;}*/ .sf-menu-phone-item { display:block; } #sf-menu-phone-trigger { display:block; } .sf-search {padding:10px;} #searchbox {margin-left:15px;} #searchbox input[type="text"] {width:80%;} #searchbox input[type="text"]:focus, #searchbox input[type="text"]:hover {width:80%;} #searchbox .button {width:10%;} #header_logo { padding-right:50px; text-align:left !important;} } Muchas gracias Edited May 14, 2015 by Maria Gonzalez (see edit history) Link to comment Share on other sites More sharing options...
Maria Gonzalez Posted May 13, 2015 Author Share Posted May 13, 2015 No se muy bien que debo modificar para arreglar la funcion que no funciona..... El js que me has pedido es este: /* * 2007-2015 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2015 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ var responsiveflagMenu = false; var categoryMenu = $('ul.sf-menu'); var mCategoryGrover = $('.sf-contener .cat-title'); $(document).ready(function(){ categoryMenu = $('ul.sf-menu'); mCategoryGrover = $('.sf-contener .cat-title'); responsiveMenu(); $(window).resize(responsiveMenu); }); // check resolution function responsiveMenu() { if ($(document).width() <= 767 && responsiveflagMenu == false) { // menuChange('enable'); // responsiveflagMenu = true; } else if ($(document).width() >= 768) { menuChange('disable'); responsiveflagMenu = false; } } // init Super Fish Menu for 767px+ resolution function desktopInit() { mCategoryGrover.off(); mCategoryGrover.removeClass('active'); $('.sf-menu > li > ul').removeClass('menu-mobile').parent().find('.menu-mobile-grover').remove(); $('.sf-menu').removeAttr('style'); categoryMenu.superfish('init'); //add class for width define $('.sf-menu > li > ul').addClass('submenu-container clearfix'); // loop through each sublist under each top list item $('.sf-menu > li > ul').each(function(){ i = 0; //add classes for clearing $(this).each(function(){ if ($(this).attr('class') != "category-thumbnail"){ i++; if(i % 2 == 1) $(this).addClass('first-in-line-xs'); else if (i % 5 == 1) $(this).addClass('first-in-line-lg'); } }); }); } function mobileInit() { categoryMenu.superfish('destroy'); $('.sf-menu').removeAttr('style'); mCategoryGrover.on('click', function(e){ $(this).toggleClass('active').parent().find('ul.menu-content').stop().slideToggle('medium'); return false; }); $('.sf-menu > li > ul').addClass('menu-mobile clearfix').parent().prepend('<span class="menu-mobile-grover"></span>'); $(".sf-menu .menu-mobile-grover").on('click', function(e){ var catSubUl = $(this).next().next('.menu-mobile'); if (catSubUl.is(':hidden')) { catSubUl.slideDown(); $(this).addClass('active'); } else { catSubUl.slideUp(); $(this).removeClass('active'); } return false; }); $('#block_top_menu > ul:first > li > a').on('click', function(e){ var parentOffset = $(this).prev().offset(); var relX = parentOffset.left - e.pageX; if ($(this).parent('li').find('ul').length && relX >= 0 && relX <= 20) { e.preventDefault(); var mobCatSubUl = $(this).next('.menu-mobile'); var mobMenuGrover = $(this).prev(); if (mobCatSubUl.is(':hidden')) { mobCatSubUl.slideDown(); mobMenuGrover.addClass('active'); } else { mobCatSubUl.slideUp(); mobMenuGrover.removeClass('active'); } } }); } // change the menu display at different resolutions function menuChange(status) { status == 'enable' ? mobileInit(): desktopInit(); } gracias por la ayuda Link to comment Share on other sites More sharing options...
Maria Gonzalez Posted May 13, 2015 Author Share Posted May 13, 2015 gracias va mejorando.....ya funciona el menu. Ahora como puedo hacer para que solo en vista tablet y mobil se vea como prestashop por defecto (inferior a 767px) que use el estilo de prestashop por defecto? muchas gracias! Link to comment Share on other sites More sharing options...
Recommended Posts