鼠标悬停弹出DIV问题

Swordart_0607 2016-01-08 11:24:11
首先是一个DIV里面的列表,其中有个列我加了一个鼠标悬停弹出DIV的事件
<td id="td">${list.banner_times}</td>
<td id="td"><div id="bannerview" onMouseOver="javascript:show(this,'mydiv1');" onMouseOut="hide(this,'mydiv1')">${list.name}</div></td>
<td id="td">${list.sname}</td>

然后我写了一个单独的div,我希望的效果是,在这个单独的DIV里面显示 list 里面的另外一个字段的值。
<div id="mydiv1" style="position: absolute;width:70%;height:20%;border-radius: 4px;background:black;filter: Alpha(Opacity=50); opacity: 0.5;display: none;">
<span style="font-size:20px;color: #fff;">
在这里显示
</span>
</div>

...全文
350 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
杨小事er 2016-01-09
  • 打赏
  • 举报
回复
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
		body {height: 2000px;}
		#div1{ width: 100px; height: 150px; background: red; position: absolute;right: 0;bottom: 0; }
		#div2{ width: 200px;height: 200px;background:green; position: absolute; left: 0; top: 200px;}
	</style>

</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
	<script>
		window.onscroll = function() {
			var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //滚动的距离

			var oDiv = document.getElementById('div1');
			oDiv.style.top = (document.documentElement.clientHeight - oDiv.offsetHeight) / 2 + scrollTop + 'px';
			startMove("div1", parseInt((document.documentElement.clientHeight - oDiv.offsetHeight) / 2 + scrollTop)); //计算滚动后的offsetTop

			var oDiv2 = document.getElementById('div2');
			oDiv2.style.top = (document.documentElement.clientHeight - oDiv2.offsetHeight) / 2 + scrollTop + 'px';
			startMove("div2", parseInt((document.documentElement.clientHeight - oDiv2.offsetHeight) / 2 + scrollTop));
		};

		function startMove(obj, target) {
			var timer = null;
			var oDiv = document.getElementById(obj);

			// 实现animate动作
			clearInterval(timer);
			var iTarget = target;
			timer = setInterval(function() {
				var speed = (iTarget - oDiv.offsetTop) / 10;
				speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
				if ((speed >= 0 && oDiv.offsetTop >= iTarget) || (speed <= 0 && oDiv.offsetTop <= iTarget)) {
					clearInterval(timer);
				} else {
					oDiv.style.top = oDiv.offsetTop + speed + 'px';
				}
			}, 100);
			clearInterval(timer);
		}
	</script>
	</html>
杨小事er 2016-01-09
  • 打赏
  • 举报
回复
打开开发者工具,可以看到两个div的top都是弹跳不定的,说明你的定时器有问题。 所以在你开始移动的函数最后,我又加了一句 clearInterval(timer); 大概可以达到你想要的效果

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧