3

我有以下代码来捕获浏览器调整大小事件。

 window.onresize = function(){
 var style = $('#button-selection').position();
 if(style == "relative"){
 $("#button-section").css("position"," ");
 }else if(style == "fixed"){
    $("#button-section").css("position","relative");
 }              
 };


 window.onresize = function(){
            var style = $('#button-selection').css('position');
            if(style == "relative"){
                $("#button-section").css("position"," ");
            }else if(style == "fixed"){
                $("#button-section").css("position","relative");
            }               
        };

样式返回未定义。当文档准备好时,我正在运行它。我尝试使用窗口就绪,但结果是一样的。上述两种方法都返回未定义!

4

2 回答 2

5

改变这个:

var style = $('#button-selection').position();

对此:

var style = $('#button-selection').css('position');

.position()用于获取元素的坐标。

从文档:

获取匹配元素集中第一个元素相对于偏移父元素的当前坐标。


更新:

改为使用$(window).resize()。我在这里有一个测试用例场景:在这个小提琴中。

$(window).resize(function () {
  var style = $('button').css('position');
  if (style == "relative") {
    alert('relative');
  } else if (style == "fixed") {
    alert('fixed');
  }
});
于 2013-04-11T07:58:19.273 回答
1

jQuery 文档说 .position() 是:

描述:获取匹配元素集合中第一个元素相对于偏移父元素的当前坐标。

你应该使用:

 var style = $('#button-selection').css('position');
于 2013-04-11T07:59:12.970 回答