我想在页面列中放置一个广告。当我向下滚动时,我希望广告一直跟随,但位于页面的垂直中间。现在使用脚本只能设置一定的距离,但不能设置精确的 50% 距离。
我累了$window.height()/2
or $document.height()/2
,但他们计算的是我的表格高度而不是实际的屏幕高度。如何解决这个问题?谢谢!
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script type="text/javascript">
$(function () {
var $sidebar = $("#sidebar"),
$window = $(window);
$window.scroll(function () {
if ($window.scrollTop() > $window.height() / 2) {
$sidebar.css('position', 'absolute');
$sidebar.css('top', $window.scrollTop() + $window.height() / 2);
$sidebar.slideDown(500);
} else {
$sidebar.css('position', 'auto');
$sidebar.css('top', 'auto');
}
});
});
</script>
</head>
<body>
<br><br>
<table bgcolor="#CCCCCC" width="800" height="3000" align="center" border="1">
<tr>
<td width="150" valign="top">
<div style="width:100px;height:100;background:white;"></div>
<br>
<div style="width:100px;height:100;background:blue;"></div>
<br>
<div style="width:100px;height:100;background:yellow;"></div>
<br>
<div style="width:100px;height:100;background:pink;"></div>
<br>
<div style="width:100px;height:100;background:maroon;"></div>
<br>
<!-- AD -->
<div style="width:100px;height:100;background:red;" id="sidebar">test</div>
<br>
</td>
<td width="500"></td>
<td width="150"></td>
</tr>
</table>
</body>
</html>