JSFiddle - React, Tailwind, and code Playground
by Johan Muller
HTML
<div id="preview">
<img id="pimg" src="" alt="Flora preview" />
</div>
<ul class="item">
<li class="image">
<img src="http://medicpulse.ru/uploads/posts/2012-11/1352461872_pic190.jpg" alt="" />
</li>
<li class="title">Item #123</li>
<li class="code">Код товара: 00128</li>
<li class="price">3,150 руб</li>
</ul>
<ul class="item">
<li class="image">
<img src="http://medicpulse.ru/uploads/posts/2012-11/1352461872_pic190.jpg" alt="" />
</li>
<li class="title">Item #123</li>
<li class="code">Код товара: 00128</li>
<li class="price">3,150 руб</li>
</ul>
<ul class="item">
<li class="image">
<img src="http://medicpulse.ru/uploads/posts/2012-11/1352461872_pic190.jpg" alt="" />
</li>
<li class="title">Item #123</li>
<li class="code">Код товара: 00128</li>
<li class="price">3,150 руб</li>
</ul>
<ul class="item">
<li class="image">
<img src="http://medicpulse.ru/uploads/posts/2012-11/1352461872_pic190.jpg" alt="" />
</li>
<li class="title">Item #123</li>
<li class="code">Код товара: 00128</li>
<li class="price">3,150 руб</li>
</ul>
<ul class="item">
<li class="image">
<img src="http://medicpulse.ru/uploads/posts/2012-11/1352461872_pic190.jpg" alt="" />
</li>
<li class="title">Item #123</li>
<li class="code">Код товара: 00128</li>
<li class="price">3,150 руб</li>
</ul>
<ul class="item">
<li class="image">
<img src="http://medicpulse.ru/uploads/posts/2012-11/1352461872_pic190.jpg" alt="" />
</li>
<li class="title">Item #123</li>
<li class="code">Код товара: 00128</li>
<li class="price">3,150 руб</li>
</ul>
<ul class="item">
<li class="image">
<img src="http://medicpulse.ru/uploads/posts/2012-11/1352461872_pic190.jpg" alt="" />
</li>
<li class="title">Item #123</li>
<li class="code">Код товара: 00128</li>
<li class="price">3,150 руб</li>
</ul>
<ul class="item">
<li...
CSS
body {
position: relative;
padding-right: 200px;
min-width: 800px;
}
#preview {
display: none;
position: absolute;
overflow: hidden;
width: 300px;
height: 200px;
top: 0px;
left: 0px;
background: url(art/ajax.gif) no-repeat 50% 50% #fff;
border: 1px solid #ccc;
border-radius: 4px;
z-index: 999;
}
#preview img {
position: absolute;
top: 0px;
left: 0px;
}
.item {
display: inline-block;
position: relative;
padding: 10px;
margin: 20px 15px 0px 0px;
height: 100px;
width: 230px;
overflow: hidden;
text-align: left;
cursor: pointer;
background-color: #f0f0f0;
border-radius: 4px;
}
.item:hover {
background-color: #F7D9E5;
}
.item:active {
background-color: #F7D9E5;
box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, .2) inset;
}
.item .image img {
width: 100px;
height: 100px;
border: 1px solid #aaa;
border-radius: 4px;
}
.item .image {
position: absolute;
top: 10px;
left: 10px;
}
.item .title, .item .code, .item .price {
padding-left: 110px;
}
.item .title {
font-size: 1.2em;
}
.item .code {
font-size: 0.8em;
margin-bottom: 15px;
}
.item .price {
font-size: 1.4em;
font-weight: 700;
}
JavaScript
$('.item').mouseenter(function () {
var pos = $(this).position();
var ind = $(this).index();
itemx = setTimeout(function () {
$('#pimg').attr('src', 'art/demo.jpg');
$('#preview').css({
'top': pos.top + 20,
'left': pos.left + 260
}).show(200);
}, 500);
}).mousemove(function (e) {
var pos = $(this).position();
var ind = $(this).index();
var posx = e.pageX;
var posy = e.pageY;
$('#preview').text('x: ' + posx + ' y: ' + posy + ' i: ' + ind);
}).mouseleave(function () {
clearInterval(itemx);
$('#preview').hide(200);
});