现在我想用JQUERY来控制窗口的大小改变以后做一个操作,但是resize是一直在改变的,我设置了一个函数,目前只alert一个东西,结果页面大小一改变的时候,页面几乎是死了,因为大小一直在改变,我的事件就一直在执行,我只想要在改变完成以后再执行代码,我又不能在resize的函数中设置了setTimeOut函数,那又不合逻辑,要设置在外面,又不知道如何来操作,请教各位高手,如何来确认窗口大小已经改变完成,我要怎么来改?

解决方案 »

  1.   

    没有,resize事件 ,当窗口改变时触发的次数叫恐怖,
    一般都 是用var timer = 0;
    $(window).resize(function(){
    clearTimeout(timer);
    timer(function() {
    //do some sth, 但是别用alert之类的函数;
    }, 200);
    });
      

  2.   

    写错了var timer = 0;
    $(window).resize(function(){
        clearTimeout(timer);
        timer = setTimeout(function() {
        //do some sth, 但是别用alert之类的函数;
        }, 200);
    });
      

  3.   

    完了,我在settimeout中的函数比alert还夸张,看来得另想办法了
      

  4.   

    我加了一个变量以后貌似可以变相的解决,但是貌似不太准确:var oldHeight;
     $(window).resize(GetPageSize);
     function GetPageSize() {
        if ($(window).height() != oldheight) {
         oldheight = $(window).height();
         } else {
          //这里我放了很多的变态的代码,但是好像精确性不是太好
        alert("test");
        }             
     }希望有一会完美的办法解决,急死我了目前这个还是不理想,jquery中有一个:last是过滤最后一个,可不可以对触发事件的最后应用?
      

  5.   

    js目前是没办法监控到鼠标对浏览器的操作其实你需要的只是browser.onmouseup + window.onresize可惜没有第一个事件。用timer模拟吧。