单击功能后即时获取窗口宽度

时间:2014-05-06 16:24:48

标签: jquery

我需要获得窗口的宽度,以便在点击按钮后继续更新

如果我拖动浏览器,窗口宽度保持不变,除非我再次单击。我需要在拖动浏览器时不断更新。点击需要在这里,因为将有多次点击更新div的widht,因此将进行计算

http://jsfiddle.net/ktcle/36bnm/

$(document).ready(function() {
function checkWidth() {
    function Click()
    {
        var $window = $(window);
    var windowsize = $window.width();
    $('div#BB  span').html( windowsize)
    }

    window.Click = Click;
 };

checkWidth();
$(window).resize(checkWidth);
}); 

3 个答案:

答案 0 :(得分:3)

当resize事件触发时,您必须调用您的更新功能。 目前,您只需重新分配点击功能。

function checkWidth() { 
   var $window = $(window);
   var windowsize = $window.width();
   $('div#BB  span').html( windowsize)
}

$(document).ready(function() {    
   checkWidth();
   $(window).resize(checkWidth);
}); 

请参阅:http://jsfiddle.net/36bnm/1/

该按钮现已过时。

编辑: 要在点击后触发此操作,请执行以下操作:

$(document).ready(function() {    
   $('button').click(function() {
     checkWidth();
     $(window).resize(checkWidth);
   });
});

因此,仅在按下按钮后才会触发调整大小的事件处理程序。

答案 1 :(得分:2)

您在这里不需要Click()方法,只需使用:

function checkWidth() {
    var $window = $(window);
    var windowsize = $window.width();
    $('div#BB  span').html(windowsize)
};

$(document).ready(function () {
    $(window).resize(checkWidth);
});

<强> Updated Fiddle

答案 2 :(得分:0)

您不需要将Click方法添加到逻辑中,只需在全局范围内定义函数并将其作为$(document).ready()上的事件处理程序附加:

$(document).ready(function () {
  $(window).resize(checkWidth);
});

function checkWidth() {
  var $window = $(window);
  var windowsize = $window.width();
  $('div#BB  span').html(windowsize)
}

Working fiddle