是否可以在 html 中动画调整框架的大小?
我有一个网页,其中有两个水平堆叠的框架(比如 500 像素,剩余)。单击“最小化”图像后,左侧的框架会缩小到 100 像素左右。是否可以通过 jquery/javascript/css 为这种收缩设置动画?
是否可以在 html 中动画调整框架的大小?
我有一个网页,其中有两个水平堆叠的框架(比如 500 像素,剩余)。单击“最小化”图像后,左侧的框架会缩小到 100 像素左右。是否可以通过 jquery/javascript/css 为这种收缩设置动画?
如果您正在寻求为内部框架设置动画,那么我会选择 Molle 博士的回答。但是,如果您要为框架集设置动画,则必须手动进行。下面的例子说明了。要检查它,您最好使用本地 Web 服务器来避免跨域限制的问题(至少在 Chrome 中,尚未在其他任何地方测试过......)。
<html>
<body>
frame 1
<br />
<a href='#' class='minimize'>Minimize</a>
<script type="text/javascript"
src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type='text/javascript'>
$(function () {
$('.minimize').click(function (evt) {
evt.preventDefault();
window.parent.minimize();
return false;
});
});
</script>
</body>
</html>
<html><body>frame 2</body></html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type='text/javascript'>
$(function () {
var minimizeInterval = null;
var current = 500;
var pace = 15;
var stop = 100;
window.minimize = function () {
minimizeInterval = setInterval(function () {
console.log('minimizing...');
$('frameset').attr('cols', current + ',*');
current -= pace;
if (current < stop)
clearInterval(minimizeInterval);
}, 10);
};
});
</script>
</head>
<frameset cols="500,*">
<frame id='frame1' src="frame1.html"></frame>
<frame id='frame2' src="frame2.html"></frame>
</frameset>
</html>
使用 jQuery 的动画:
$('#frameselector').animate({width:100});
是的,您可以为大多数 CSS 属性设置动画。
这是一个示例:当您单击左侧框架时,右侧框架会变为动画并缩小尺寸。
这是使用:
$('#a').click(function(){
$('#b').animate({
height: '50px'
}, 5000);
});