确定元素的宽度

时间:2013-02-21 16:29:31

标签: jquery html

单击按钮时,我需要移动到屏幕中,然后再次单击时返回屏幕。

问题在于我不想写一个特定宽度的盒子,因为它并不总是一样的。我认为这段代码应该这样做,但我得到一个ReferenceError,说“无法找到变量:宽度”。任何想法如何改进它?

var itemWidth = $("#about_box").css(width);

console.log($("#about_box").width());

var itemOut = false;

$(document).ready(function() {

    $("#about").click(function(){

        var value1 = 30;
        var value2 = -itemWidth;

        console.log(itemOut);

        if (itemOut == false) {
            $("#about_box").stop();
            $("#about_box").animate({left: value1}, 350);
            itemOut= true;
        } else {
            $("#about_box").stop()
            $("#about_box").animate({left: value2}, 150);
            itemOut = false;
        }


    });

});

5 个答案:

答案 0 :(得分:2)

您应该使用以下选项之一:

$("#about_box").width() //element only width
$("#about_box").innerWidth() //element + padding width
$("#about_box").outerWidth() //element + padding + border width

并在$(document).ready处理程序中使用它,因为在此之前你可能不会获得任何宽度,因为DOM尚未呈现。

答案 1 :(得分:0)

你错过了这里的行情

var itemWidth = $("#about_box").css(width);

应该是

var itemWidth = $("#about_box").css("width");

答案 2 :(得分:0)

此行有语法错误并抛出异常:var itemWidth = $("#about_box").css(width);

您需要使用:

var itemWidth = $("#about_box").css('width');

var itemWidth = $("#about_box").width();

答案 3 :(得分:0)

var itemWidth = $("#about_box").css(width);

更改为: var itemWidth = $(“#about_box”)。width(); 并考虑是否需要外部宽度(填充)。

答案 4 :(得分:0)

应该是:

var itemWidth = $("#about_box").css("width");

即。引号中的宽度。