jQuery 动画处理最大宽度溢出问题
jQuery animate max-width overflow issues
我正在使用一小段jquery,它只不过是动画一个div,该div似乎从屏幕外移动到父div中所需的位置。
$(document).ready(function()
{$(".tv").animate({marginLeft:"50px"},700);
为了在屏幕外开始,我确保父div 将以最大宽度值和最小宽度值到达屏幕一侧。然后,我将子div 设置为左边距 100%,我假设这将相对于父级的当前宽度,但显然不是。使用最大宽度时,子项从父项的边缘开始,并且没有溢出问题。但是,当使用最小宽度或窗口没有那么宽时,子项仍会从最大宽度位置进行动画处理,并创建溢出。
.col2 {
position:relative;
max-width:1200px;
min-width:400px;
height:600px;
margin-left:0px;
float:left;
overflow:hidden;
}
.tv {
margin-left:100%;
height:224px;
width:374px;
background-image:url('image/tv.png');
display:block;
}
虽然我知道这可以通过使用百分比无缝工作,但屏幕左侧有一列必须保持相同的宽度,所以据我所知这不是一个选项。我还想避免删除整个文档的溢出。
我想有几行jQuery或javascript可以用来设置子项的属性以匹配父项的当前宽度而不是父项的最大宽度,但是我不知道如何测量当前宽度。除此之外,除了在动画制作时禁用溢出之外,我认为没有其他解决方案,但这似乎并不理想。
有什么建议吗?
将 .tv 设置为 position:absolute 将把它从盒子模型中删除,并阻止它调整其父div 的大小。 给它一个荒谬的左值将确保它在页面加载时呈现在屏幕上。
.tv {
height:224px;
width:374px;
background-image:url('image/tv.png');
position: absolute;
left: 10000px
}
然后,使用 JS 对左侧值进行动画处理应该可以为您提供相同的效果,而不会引起溢出问题。 在动画化之前,它将左值设置为父div 的宽度,因此它不会从初始化时使用的荒谬的左值开始动画。
$(document).ready(function () {
$(".tv")
.css("left", $(".col2").width())
.animate({left:"50px"},700);
});
相关文章:
- 空函数似乎从包装器中清除了一些类,但不是全部.试图找出问题所在
- 电话间隙没有互联网警报弹出问题
- 从不同选项卡打开时出现Javascript弹出问题
- IE 中的 Javascript window.close() 弹出问题
- 完整日历弹出问题
- 模态弹出问题
- Jquery width()溢出Safari问题
- 在angular js中向控制器注入常量(模式弹出问题)
- Facebook登录弹出问题
- Knockout-弹出问题编辑项目
- 解决浏览器弹出问题
- chrome新版本37中的弹出问题
- phanttomjs:绝对路径工作,但相对路径给出问题
- Javascript滑出问题
- 需要帮助解决模态弹出问题
- iPad Safari弹出问题
- jQuery一页导航插件溢出隐藏问题
- 鼠标输入/离开&鼠标悬停/移出问题
- 弹出问题..不确定这是否是最好的方法
- IE中的JQuery弹出问题