无法通过javascript控制css底部属性

时间:2014-08-27 13:11:22

标签: javascript jquery css

好的,我有一个div,里面有一个画布。 来自我的html文件:

<div id="container">
    <canvas id="game" width="600px" height="2000px"></canvas>
</div>

来自css文件:

#game{
    /*background-color: #99CC00;*/
    background:-moz-linear-gradient(top, #00b7ea 0%, #008793 14%, #004b9b 43%, #1f00ea 74%, #008793 89%, #009ec3 100%);
    bottom: 0px;
    position: absolute;
}
#container{
    position: relative;
    width: 600px;
    height: 500px;
}

我想要做的是控制底部&#39; #game的值是:

($("#game").css("bottom")),

将它放在if语句中,如果为true,则自动更改它。

但是当我尝试时,有一个我无法理解的问题。 我有一个名为s的变量。如果s应该是应该更改的金额,那么它不是固定的数字。

当我尝试($("#game").css("bottom", -s));时 什么都没发生,所以检查一下我做了以下事情:

alert( ($("#game").css("bottom", -s)) );回复是[object Object]。

如果我只是alert( ($("#game").css("bottom")) );,则回复正确为0px。

我错过了什么?非常感谢帮助!

2 个答案:

答案 0 :(得分:1)

.css(name, value)会将name的css属性设置为value。它不会像改变变量那样改变价值。

因此你应该做的事情如下:

x += 1

var oldValue = parseInt($("#game").css("bottom")); $("#game").css("bottom", (oldValue - s) + "px") 是必要的,因为正如你所说它返回parseInt,这是一个字符串。

答案 1 :(得分:0)

您可以更改该值并设置为:

$( "div" ).on( "click", function() {
    $( this ).css({
    height: function( index, value ) {
        return value * 1.2;
    }
    });
});

1.2与代码中的r相同,当您点击div时,&#39; div&#39;高度自动增加。它可能会帮助你。