无法使用整数字符串作为像素值?

时间:2011-12-14 03:17:41

标签: javascript jquery

在下面的代码中,我试图将字符串(40*(parseInt($('#2-cat').attr('id')))+1)作为移动div的像素高度。但它只是不工作,我真的不明白为什么 - 我已经放入了另外两个代码测试行,服务器似乎接受这个字符串是一个整数...但它不想让我用它作为div的高度。

$(document).ready(function() {
    $('p').click(function(){
        //$('p').html(40*(parseInt($('#2-cat').attr('id')))+5)
        //$("#line").animate({"top":"80px"});
        $("#line").animate({"top":"(40*(parseInt($('#2-cat').attr('id')))+1)px"});
    });
});

HTML:

<div id='line' style='height:100px; width:100px; background-color:red;position:relative'></div>
<div id='2-cat'>hello</div>
<p>hellos</p>

可以在http://jsfiddle.net/platypus117/XyLNG/1/

查看所有内容

1 个答案:

答案 0 :(得分:1)

您正在为animate方法传递一个大字符串作为您的最高值。

它不知道如何处理它。

您需要先计算最高值,然后将其传递给animate方法。

http://jsfiddle.net/XyLNG/3/