JSFiddle - React, Tailwind, and code Playground
by Carl Angelo Nievarez
HTML
<div class="product-submenu-container">
<div class="row collapse">
<div class="medium-3 columns">
<h3>products</h3>
<ul class="submenu-list">
<li><a href="#!" class="hoverme1">KB1</a></li>
<li><a href="#!" class="hoverme2">KB2</a></li>
<li><a href="#!" class="hoverme3">KB3</a></li>
<li><a href="#!" class="hoverme4">REED</a></li>
</ul>
</div>
<div class="medium-9 columns">
<div class="product-banner placehold">
<h3>This is some placeholder text</h3>
<p>This is some placeholder text, it should sit next to the list and
should be visible when nothing else is hovered.</p>
</div>
<div class="product-banner showme1">
<div class="row">
<div class="large-8 columns">
<h3>KB1</h3>
<p><em>Some placeholder text</em></p>
<p>Vivamus sagittis lacus vel augue laoreet rutrum faucibu
s dolor auctor. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>
</div>
<div class="large-4 columns">
<img src="http://placehold.it/200" />
</div>
</div>
</div>
<div class="product-banner showme2">
<h3>KB2</h3>
</div>
<div class="product-banner showme3">
<h3>KB3</h3>
</div>
<div class="product-banner showme4">
<h3>REED</h3>
</div>
</div>
</div>
</div>
CSS
.showme1, .showme2, .showme3, .showme4 {
display: none;
}
@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html...
JavaScript
$(document).ready(function () {
var $placeholder = $("div.placehold");
$('.submenu-list').find('a').on('click', function(e) {
e.preventDefault();
});
$('.submenu-list').children('li').find('a').on('mouseenter', function() {
var $current = $(this);
var $link = $(this);
if($link.attr('class').indexOf('hoverme')) {
return;
}
var toShowItemSelector = '.showme' + $link.attr('class').match(/\d+/)[0];
$placeholder.hide();
$("*[class*='showme']").hide();
$("*[class*='showme']").stop();
$(toShowItemSelector).fadeIn(333);
});
$('.product-submenu-container').on('mouseleave', function(e) {
$("*[class*='showme']").hide();
$placeholder.show();
});
$('.product-submenu-container').on('mouseover', function(e) {
if( $(e.target).hasClass('medium-3 columns') ) {
$("*[class*='showme']").hide();
$placeholder.show();
}
});
});