动态/连续改变宽度的div或span

时间:2013-01-17 21:04:50

标签: javascript jquery

我有来自jQuery animate的示例代码 并且我想基于时间基于计数器自动扩展div,因为计数器或时间改变div变得更宽。我无法弄清楚如何使用变量来替换宽度:“70%”

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta name="generator" content="HTML Tidy for Windows (vers 14 February 2006), see www.w3.org">
<style type="text/css">
div {
background-color:#bca;width:100px;border:1px solid green;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript">
</script>
    <title></title>
  </head>
  <body>
    <button id="go">» Run</button>
    <div id="block">
      Hello!
    </div>
<script type="text/javascript">
/* Using multiple unit types within one animation. */
 $("#go").click(function(){  $("#block").animate({    width: "70%",    opacity: 0.4,    marginLeft: "0.6in",    fontSize: "3em",    borderWidth: "10px"  }, 1500 );});
</script>
  </body>
</html>

2 个答案:

答案 0 :(得分:0)

请使用变量示例代码以使用宽度:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta name="generator" content="HTML Tidy for Windows (vers 14 February 2006), see www.w3.org">
<style type="text/css">
div {
background-color:#bca;width:100px;border:1px solid green;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript">
</script>
    <title></title>
  </head>
  <body>
    <button id="go">» Run</button>
    <div id="block">
      Hello!
    </div>
<script type="text/javascript">
  var someWidth = "70%";
/* Using multiple unit types within one animation. */
 $("#go").click(function(){  $("#block").animate({    width: someWidth,    opacity: 0.4,    marginLeft: "0.6in",    fontSize: "3em",    borderWidth: "10px"  }, 1500 );});
</script>
  </body>
</html>

答案 1 :(得分:0)

您可以通过指定+=来使用相对动画,如下所示

$("#go").click(function(){  
         $("#block").animate({   
                             width: "+=5%",   
                             opacity: 0.4,
                             marginLeft: "0.6in",  
                             fontSize: "3em",   
                             borderWidth: "10px"  
                            }, 1500 );
         });

每次调用函数时,这将扩展div 5%。调整它符合您的需要。 相反,如果您希望animate在间隔的基础上在setInterval中调用此函数。这将每2000毫秒调用animate

setInterval( function(){

        $("#block").animate({   
                             width: "+=5%",   
                             opacity: 0.4,
                             marginLeft: "0.6in",  
                             fontSize: "3em",   
                             borderWidth: "10px"  

                    }, 1500 );               

             },2000);