jQuery:如何使用一个元素的百分比宽度作为动画另一个元素的值,并确保它的工作,即使在调整窗口的大小
jQuery: How to use percentage width of one element as a value to animate another element, and make sure it works even when resizing the window?
这里我们得到一个percentage width元素的动态宽度,并使用animate()
将其应用于另一个元素的margin-left。
function testAnimate() {
var redWidth = $('.red').width();
$('.blue').animate({marginLeft: "0px"}, 800).delay(3000);
$('.blue').animate({marginLeft: redWidth}, 800, testAnimate).delay(3000);
}
$(document).ready(testAnimate);
$(window).resize(testAnimate);
.red{
background-color: red;
width: 40%;
height: 200px;
}
.blue{
background-color: blue;
width: 100px;
height: 200px;
}
<div class="red"></div>
<div class="blue"></div>
上面的代码在调整窗口大小时不起作用。
或者我们可以让它在调整窗口大小时工作,只要我们不使用animate()
给它左边框,而是直接使用css()
。
但这并不能解决问题。
我们应该如何修改代码来解决这个问题?
还有,为什么上面的代码不工作,甚至在我把$(window).resize(testAnimate)
写入代码后?
使用jQuery的$。偏移函数
var redOffset= $('.red').offset();
$('.blue').animate({
top: redOffset.top,
left: redOffset.right
});
如果这不起作用,你可以尝试在制作动画之前给它添加。blue "position absolute"。
$('.blue').css('position', 'absolute');
相关文章:
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 用javascript将script元素附加到头部;铬不能工作
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- DIV怎么能像Javascript中的另一个元素一样工作呢
- javascript()onclick隐藏元素-dos'我不在firefox工作
- 没有获得基础's的Javascript元素工作(与Laravel和Elixir)
- 为什么在ASP.NET Ajax更新面板中执行任何操作后javascript元素都停止工作
- jQuery插件在为元素分配id时停止工作
- 注入的元素和jQuery脚本.如何让他们一起工作
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 让 jquery 为 ajax 添加的元素工作的最佳方法是什么?
- 似乎无法获得'.focus()'元素工作.
- 如何使工具提示从函数本身之外的元素工作
- 似乎不能让JQuery's .on()为通过脚本创建的元素工作
- 添加元素工作,但清除输入值
- jQuery选择器不能为动态创建的元素工作
- IE11 Javascript更改事件不与html表单元素工作
- 欧芹js会为运行时出现的元素工作吗
- 为什么点击一个元素来触发一个事件会阻止另一个元素工作呢?