Hola a todos!!!
les describo el problema que tengo:
estoy practicando con un efecto basico para un menu con css3, javascript, con etiquetas ul , li, y varios links de pruebas. las etiquetas li tienen unas dimensiones ya definidas (colocados por mi) y colores de fondo aleatorios, cuando paso el puntero por encima de las li, estas crecen en tamaño y ademas se mueve 10px arriba de su posicion original.
el problema esta en que cuando paso el puntero por los enlaces dentro de las li, estas regresan a su tamaño y posicion original.
¿como evito esta situacion?
Aqui esta el codigo css, javascript, y html para mayor orientacion.
Código:
ul{
background: #555;
position: relative;
top: 30px;
left: 50px;
display: inline-block;
vertical-align: top;
zoom: 1; /* Fix for IE7 */
*display: inline; /* Fix for IE7 */
}
ul li.item{
box-shadow: -5px -5px 15px #888888;
width: 100px;
height: 40px;
margin: 0 0;
padding: 5px 5px;
position: absolute;
border: 1px solid black;
border-radius: 10px 0;
opacity: 0.5;
transform: skew(-10deg,-20deg);
-ms-transform: skew(-10deg,-20deg); /* IE 9 */
-webkit-transform: skew(-10deg,-20deg); /* Safari and Chrome */
-o-transform: skew(-10deg,-20deg); /* Opera */
-moz-transform: skew(-10deg,-20deg); /* Firefox */
list-style-type: none;
}
ul li.item:hover{
width: 150px;
height: 60px;
opacity: 1;
box-shadow: none;
};
ul li a{
font: 1em sans-serif;
text-decoration: none;
}
Código:
jQuery(document).ready(function() {
$('.item').each(function(index, elemento){
var r = Math.round(255*Math.random());
var b = Math.round(255*Math.random());
var g = Math.round(255*Math.random());
var color = "rgb("+r+","+b+","+g+")";
console.log(color);
$elemento = $(elemento);
$elemento.css({
'z-index':index,
'background-color':color,
//'left':""+10*index+"px",
'top':""+30*index+"px",
})
.mouseover(function(e){
var pos = $(e.target).position();
pos.top += 10;
$(e.target).css('top',pos.top);
})
.mouseout(function(e){
reset_posicion();
});
});
});
var reset_posicion = function(){
$('.item').each(function(index,elemento){
$(elemento).css('top',""+30*index+"px");
});
}
Código:
<ul>
<li class="item"><a href="#" title="android">Android</a></li>
<li class="item"><a href="#" title="android">PHP</a></li>
<li class="item"><a href="#" title="android">Node.js</a></li>
<li class="item"><a href="#" title="android">Wordpress</a></li>
<li class="item"><a href="#" title="android">Python</a></li>
</ul>