[英]moving div right left continously in jquery
我正在尝试在页面加载时连续左右移动div
。 但是我所做的就是点击。 那就是我所不想要的。 这是我的代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <body> <a href="" class="left">left</a> | <a href="" class="right">right</a> <br /><br /> <div id="foo" style="background:red;width:100px;height:100px;position:absolute"></div> <script> $('.right').click(function(e) { e.preventDefault(); $('#foo').css({ 'right': '0px', 'left': '' }).animate({ 'right' : '30px' }); }); $('.left').click(function(e) { e.preventDefault(); $('#foo').css({ 'right': '', 'left': '0px' }).animate({ 'left' : '30px' }); }); </script>
您可以使用CSS animation
来做到这一点
#foo { background: red; width: 100px; height: 100px; position: absolute; left: 0; animation: leftRight linear 3s infinite alternate; } @keyframes leftRight { to { left: 100%; transform: translateX(-100%); } }
<div id="foo"></div>
jQuery或浏览器未正确自动分配auto
值。
使用这样的东西:
$('.right').click(function(e) { e.preventDefault(); $('#foo').css({ 'right': window.innerWidth - $('#foo').position().left - $('#foo').width(), 'left': 'auto' }).animate({ 'right' : '30px' }); }); $('.left').click(function(e) { e.preventDefault(); $('#foo').css({ 'left': $('#foo').position().left, 'right': 'auto' }).animate({ 'left' : '30px' }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <a href="" class="left">left</a> | <a href="" class="right">right</a> <br /><br /> <div id="foo" style="background:red;width:100px;height:100px;position:absolute"></div>
如您的问题所述,如果您希望它在页面加载时自动执行任一操作,请执行以下操作:
$(function () { function a() { $('#foo').css({ 'right': window.innerWidth - $('#foo').position().left - $('#foo').width(), 'left': 'auto' }).animate({ 'right' : '30px' }, function () { $('#foo').css({ 'left': $('#foo').position().left, 'right': 'auto' }).animate({ 'left' : '30px' }, a); }); } a(); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <br /><br /> <div id="foo" style="background:red;width:100px;height:100px;position:absolute"></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.