我一直在试图解决这个星期 - 我相信它很简单,但我真的很挣扎!

我正在尝试更改我的导航,以便用户必须单击它以显示它。我相信Magento默认是他们只是徘徊,至少这就是我正在发生的事情。有人告诉我,他们认为这是我认为可能是对的CSS课程的影响。值得注意的是,我的移动版本(在桌面上查看时)确实启用单击,但桌面显示在悬停时。

这是我的nav-primary的css:

.nav-primary a {
color:#9a9a9a;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-transform: uppercase;
}

.nav-primary a:hover {
color:#000;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
text-transform: uppercase;
}

#header-account li a,
.nav-primary a.level0 {
width: 200px;
text-align: left;
color: #636363;
text-transform: uppercase;
line-height: 20px;
padding-top: 0;
padding-right: 15px;
padding-bottom: 0;
margin-left: 300px;
}

#header-account li:last-child a,
.nav-primary li.level0:last-child a.level0 {
border-bottom: 0;
}

.no-touch #header-account a:hover,
.no-touch .nav-primary a:hover {
text-decoration: none;
}

.nav-primary {
display: block;
padding-top: 30px;
}

.nav-primary a {
text-decoration: none;
position: relative;
display: block;
color: #636363;
line-height: 30px;
font-family: "Raleway", "Helvetica Neue", Verdana, Arial, sans-serif;
}

.nav-primary li {
position: relative;
}

.nav-primary li.level1 a {
margin-left: 350px;
}

.nav-primary .menu-active > ul.level0,
.nav-primary li.level0 li.sub-menu-active > ul {
 display: block;
 }

.nav-primary li.level0 > a {
text-transform: uppercase;
}

/* ============================================ *
* Small Viewports - Accordion Style Menu
* ============================================ */
.nav-primary a.level0,
.nav-primary a {
 line-height: 25px;
 }
 .nav-primary li.level0 ul {
 display: none;
 }
.nav-primary li.level0 li {
 padding: 0 0 0 25px;
 }
 .nav-primary li.level1 a {
 padding: 0 15px 0 25px;
 }
.nav-primary li.parent > a:after {
 content: '';
 position: absolute;
 width: 0;
 height: 0;
 display: block;
 border-top: 5px solid transparent;
 border-bottom: 5px solid transparent;
 border-left: 5px solid #cccccc;
 border-right: none;
 top: 50%;
 left: 10px;
 right: auto;
 margin-top: -5px;
 }
 .nav-primary li.parent.sub-menu-active > a:after,
 .nav-primary li.parent.menu-active > a:after {
 content: '';
 position: absolute;
 width: 0;
 height: 0;
 display: block;
 border-right: 5px solid transparent;
 border-left: 5px solid transparent;
 border-top: 5px solid #cccccc;
 border-bottom: none;
 top: 50%;
 left: 10px;
 right: auto;
 margin-top: -5px;
 }
.nav-primary li.menu-active > a,
.nav-primary li.sub-menu-active > a {
 color: #000;
 }
/* ============================================ *
 * Large Viewports - Dropdown Menu
 * ============================================ */

 .nav-primary li.menu-active > ul {
 display: block;
 }
.

这是一个使它们出现在悬停时或只是在那里:

.nav-primary li.level0 ul { display: none; } 
.

但我不确定要从悬停中换来要改变什么,以单击?

更新:

我已将我的/app.js中的代码更改为以下内容,似乎是工作!

mouseClickAction: function(event, target) {
    if(this.useSmallScreenBehavior()) {
        return; // don't do mouse enter functionality on smaller screens
    }

    $j(target).addClass('menu-active'); //show current menu
},

/**
 * On large screens, hide menu.
 * On small screens, do nothing.
 *
 * @param event
 * @param target
 */
mouseClickAction: function(event, target) {
    if(this.useSmallScreenBehavior()) {
        return; // don't do mouse leave functionality on smaller screens
    }

    $j(target).removeClass('menu-active'); //hide all menus
},

/**
 * On large screens, don't interfere so that browser will follow link.
 * On small screens, toggle menu visibility.
 *
 * @param event
 * @param target
 */
mouseClickAction: function(event, target) {
    {
        event.preventDefault(); //don't follow link
        this.toggleMenuVisibility(target); //instead, toggle visibility
    }
},
.

我基本上现在它与小屏幕版本相同;用户点击以显示一个很棒的下一个类别!我确实有几个类别,即显示静态块而不是转移到现在不起作用的页面。任何想法如何仍然允许静态块显示?

有帮助吗?

解决方案

您指定的选择器正在添加显示:无挂起您的下降。这可能保持不变,您需要更改的是显示它们的部分。它看起来像是由这个选择器完成的 “.Nav-Primary .menu-Active> ul.level0”它使菜单项显示:再次块。您真正需要更改的是将“菜单活动”类添加到菜单中的最高级别UL的JavaScript,在将为Skin / Frontend / RWD / Default / JS / App.js中的RWD主题中。

其他提示

您正在寻找onclick事件,通常使用jQuery而不是CSS完成。有一个CSS解决方法涉及使用复选框。查看回答这个问题

许可以下: CC-BY-SA归因
scroll top