单击按钮时,我需要移动到屏幕中,然后再次单击时返回屏幕。
问题在于我不想写一个特定宽度的盒子,因为它并不总是一样的。我认为这段代码应该这样做,但我得到一个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;
}
});
});
答案 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");
即。引号中的宽度。