嗯 - 它似乎是浏览器或 jQuery 的功能,不一定是您构建 HTML 或 Javascript 的方式。我这样说是因为似乎只有 DOM 元素边界框内的像素区域被渲染(尝试移动文本,使一半的文本在外面,一半在里面……你会看到一个“切断”的部分动画时的文本。)
所以这是解决方法:它使用围绕“#box”和“#outside”的包装器 DIV,以便两者都在包装器的边界框内。
CSS:
#boxWrapper {
position: fixed;
top: 50%;
left: 50%;
width: 200px;
height: 200px;
margin-left: -100px;
margin-top: -120px; /* extra 20px for the #outside */
background:#ccc;
}
#box {
background: #000;
height:100%;
width:100%;
margin-top:20px; /* give 20px for the #outside */
}
#outside {
background:darkblue;
position: absolute;
top: 0px;
right: 0; }
和 HTML:
<div id="boxWrapper">
<div id="box">
<a href="#">CLICK ME</a>
<div id="outside">
I'm positioned OUTSIDE the box
</div>
</div>
</div>
和 Javascript:
<script type="text/javascript">
$(document).ready(function() {
$("#box a").click(function(){
$("#boxWrapper").animate({
height: "410px",
opacity: 0.9,
top: "25%"
}, 1000 );
return false;
});
});
</script>