2012-04-10 30 views
0

如何创建动态定位悬停弹出窗口中,可以从左至右取决于父缩进没有提示插件动态定位悬停弹出

HTML

<div class="main"> 
    <div class="visible">visible content</div> 
    <div class="hidden">hidden content</div> 
</div> 

JS

$('.main > .visible').hover(function() { 
    $('.hidden').show(); 
}, 
function() { 
    $('.hidden').hide(); 
}); 

改变方向示例(当悬停在海报弹出框上时改变方向) http://www.ivi.ru/videos/all/all/all/by_new/?year_from=2010&year_to=2012

+0

如果你有一个定义每行的元素数量和定义的大小弹出窗口(如上例),你知道,如果弹出将适合的页面,你可以对齐它正确 – 2012-04-10 16:35:42

回答

2

你不需要jQuery来做到这一点,你可以在CSS中做到这一点。

将.main设置为relative和.visible/.hidden至absolute,以便您可以将.hidden“outside”.main放置,然后在将鼠标悬停在.main上时显示它。

的jsfiddle例如:http://jsfiddle.net/ZjZSk/1/

.main { 
width:100px; 
height:100px; 
position:relative; 
background:#ff0000; 
} 
.main:hover .hidden { 
display:block; 
} 
.visible { 
position:absolute; 
top:0; 
left:0; 
width:100px; 
height:100px; 
} 
.hidden { 
position:absolute; 
top:0; 
left:100px; 
width:100px; 
height:100px; 
display:none; 
background:#aaaaff; 
} 
+0

这是我的cuurent代码)问题是,隐藏的文字超出容器http://jsfiddle.net/ZjZSk/2/ 需要一个小scipt,即自动定义偏移量和设置方向隐藏文本 – Dave 2012-04-10 19:55:46

+0

好吧,然后更改每行最后一项的位置:http://jsfiddle.net/ZjZSk/7/其中3 =(#列)和2 =(#列 - 1)。我还更新了Z指数; – 2012-04-10 20:03:20

+0

像一个可行的解决方案,但它需要一定数量的行和列,我想要一个更通用的解决方案 – Dave 2012-04-10 20:15:42