0

现在,我有 100% 是正方形,它被定义为div.newsticker
我想在加载时或在调整大小时获得这个宽度。

我怎么能用javascript做到这一点?

div.newsticker{
    border:1px solid #666666;
    width:100%;
    height:50px;
}

.newsticker p{
    height:20px;
    width:150px;
    float:left;
    position:absolute;
}
4

5 回答 5

3

你可以在 jQuery 中得到它。

On Load

jQuery(document).ready(function() {
   jQuery("div.newsticker").width()
});

On Resize

jQuery(window).on("resize", function() {
   var width = jQuery(".newticker").width();
});
于 2013-08-23T11:29:17.840 回答
1

当您使用 jQuery 时,您只需使用以下width函数:

// On load (use `ready` or whatever other load event you think appropriate)
$(doSomethingWithWidth);                    // Called on DOM ready
// and/or
$(window).on("load", doSomethingWithWidth); // Called on window load (very late)

// To get resize notification
$(window).on("resize", doSomethingWithWidth);

// And the function
function doSomethingWithWidth() {
    var width = $(".newticker").width();
    // ...
}

您还可以查看innerWidthand outerWidth

于 2013-08-23T11:29:36.430 回答
1

使用jQuery.width()或..innerWidth().outerWidth()

.outerWidth(true)- 全宽(带边距、填充、边框)

$("element").width();

在调整大小时调用它:

$(window).on("resize",function(){
    // DO SOME STUFF
});
于 2013-08-23T11:29:40.387 回答
1

要加载:

var w = 0;
window.onload = function() {
  w = document.getElementsByClass("newsticker")[0].width;
}

继续改变窗口的尺寸

window.onresize = function() {
  w = document.getElementsByClass("newsticker")[0].width;
}
于 2013-08-23T11:33:20.450 回答
1

这里有两个答案可以帮助你:

这告诉你如何获得宽度。我会在 jQuery 中运行它$(document).ready(function () {- https://stackoverflow.com/a/294273/2402338

其他人已经发布了如何在窗口调整大小时获取元素的尺寸,但我不确定这是否是您需要调整大小的正确上下文。如果没有,此问答可能会对您有所帮助 - https://stackoverflow.com/a/3444837/2402338

于 2013-08-23T11:35:22.287 回答