我正在寻找一些关于如何解决鼠标悬停时扩展 div 时遇到的小问题的想法。
我有一系列宽度百分比的 div 全部向左浮动。当我将光标移到一个 div 上时,它的大小会增长 3 倍,然后将所有 div 向右移动。现在,只有 4 个 div 适合单个行,问题是当将鼠标移到每行的最后两个元素上时,它们将落入下一行,因为它们不再适合当前行。
这是我迄今为止一直在工作的一个例子:
CSS:
#mosaicWrapper{ width:70%; background:#ccc}
.mosaic{ width:20%; background:#06C; height:150px; float:left; margin:20px 20px 0 0; color:white; text-align:center; font-size:74px; position:relative; cursor:pointer}
代码:
var wrapper = $('#mosaicWrapper');
var mosaic = $('.mosaic');
var mosaicWidth = mosaic.outerWidth(true);
var elesPerRow= Math.floor(wrapper.width()/mosaicWidth);
var expandedWidth = (mosaicWidth*(elesPerRow-1))-mosaic.margin('right');
var lastItems = [];
var intialWidth = mosaic.width();
for (var i = elesPerRow; i < mosaic.length; i = i + elesPerRow){
var lItem = i - 1;
lastItems.push(lItem);
}
mosaic.each(function(index, element) {
thisItem = $(this);
thisItem.mouseover(function(e) {
$(this).stop(false, false).animate({'width':expandedWidth},500);
if($.inArray(index, lastItems) > -1){
var last = index - 1;
};
});
thisItem.mouseleave(function(e) {
$(this).stop(false, false).animate({'width':intialWidth},500);
});
});
在这里工作的例子:http: //jsfiddle.net/xjm3h/3/
我有一个想法,将前两个 div 剪切并粘贴到当前 div 之后,没有任何运气,因为光标丢失了 div,因为这个也移动了。
有没有人知道如何解决这个问题?
提前致谢。