我有一个 div,像这样:
<div id="div1" name="div1" style="display:none;">
hello world
</div>
那是在我页面的底部。现在,当将鼠标放在图像上时,我想在图像下方显示该 div。问题是,我有 10 个相邻的图像,并且 div 应该动态显示在每个图像下方,这意味着将鼠标放在图像 6 上应该显示图像 6 下方的 div。
我怎样才能做到这一点?
谢谢!
我有一个 div,像这样:
<div id="div1" name="div1" style="display:none;">
hello world
</div>
那是在我页面的底部。现在,当将鼠标放在图像上时,我想在图像下方显示该 div。问题是,我有 10 个相邻的图像,并且 div 应该动态显示在每个图像下方,这意味着将鼠标放在图像 6 上应该显示图像 6 下方的 div。
我怎样才能做到这一点?
谢谢!
这只能通过 CSS 来完成,这是一个工作示例:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
* { margin: 0; padding: 0; }
body { font: 12px Helvetica, Sans-Serif; }
img {width: 125px;}
#page-wrap { width: 125px; margin: 62px auto; }
h1 { font-size: 30px; letter-spacing: -1px; margin: 0 0 20px 0; }
.people { position: relative; width: 125px;}
a { text-decoration: none; color: #222; display: block; outline: none; padding: 5px; }
a img { border: 1px solid #ccc; }
a .name { font: 12px Georgia, Serif; width: 125px; display: none;}
a:hover .name { color: #900; font-weight: bold; position: relative; display: block;}
a:hover img { border: 1px solid #000; margin: 0px; }
a .photo { display: block; position: absolute; width: 125px; height: 125px; }
#toby .photo { top: 0; left: 0; position: relative;}
</style>
</head>
<body>
<div id="page-wrap">
<div class="people">
<a href="#toby" id="toby">
<div class="photo">
<img src="http://www.style-makeover-hq.com/images/what-is-my-face-shape-and-what-is-the-best-haircut-for-it-21276689.jpg" alt="Toby Pic" />
</div>
<div class="name">Toby Yong<br />
Toby Young joins the fifth season of Top Chef to lend his culinary expertise to the judges table.
</div>
</a>
</div>
</div>
</body>
</html>
这是它的jsfiddle:http: //jsfiddle.net/Ek4Ej/
代码基于这篇文章:http ://css-tricks.com/remote-linking/
试试这个演示
$(function() {
$("#main").on("hover",".img img", function(){
pos = $(this).offset();
$(".box").css({"left":pos.left,"top":(pos.top + $(this).height())});
$(".box").show();
});
});
如果您想使用 jQuery 并希望在 DOM 中移动 div,这可能是一种方法:
$(function() {
var div1 = $('#div1').remove();
$('img')
.bind('mouseenter', function() {
$(this).parent().append(div1);
})
.bind('mouseleave', function() {
div1.remove();
});
});