`
suyang119
  • 浏览: 17038 次
社区版块
存档分类
最新评论

js四舍五入 IEresize事件反复执行 解决方法 以备后用

阅读更多

//js四舍五入的方法
//保留小数点后两位
// var n = 12.7768;
// var m = ForDight(n,2);
function ForDight(Dight,How) {
Dight = Math.round(Dight*Math.pow(10,How))/Math.pow(10,How);
return Dight;
}

//对IE中窗口的resize事件会执行N次的解决方法

var debounce = function (func, threshold, execAsap) { 
  var timeout; 
  return function debounced () { 
      var obj = this, args = arguments; 
      function delayed () { 
          if (!execAsap) 
          func.apply(obj, args); 
          timeout = null; 
      }; 
      if (timeout) 
          clearTimeout(timeout); 
      else if (execAsap) 
          func.apply(obj, args); 
      timeout = setTimeout(delayed, threshold || 100); 
  }; 
}


debounce 接受 3 个参数,后两个可选;
第一个是要 debounce 的函数;
第二个代表 debouce 的时间间隔;
第三个在时间段的开始还是结束执行函数;
返回包装好的函数debounce,该函数两次执行间隔至少是 threshold,并且小于 threshold 间隔的调用会重新开始计时( 两次调用的时间间隔);
把 clearTimeout( timeout ) 换为 timer = null; 返回函数两次执行间隔至少是 threshold,并且小于 threshold 间隔的调用会重新开始计时( 两次调用的时间间隔);


// 解决 onresize 多次调用
window.onresize = debounce( function(){
    alert( 'hello world');
}, 100, true)
// 在自动补齐中为了减少请求服务器次数也会用到 debounce, 只有连续敲键间隔大于某个值才会发送 ajax
window.onresize = debounce( function(){ 
    var w = document.body.clientWidth-5;
    var h = document.body.clientHeight-30;
    FixTable("MyTable", 1, w, h);
}, 100, true)
分享到:
评论

相关推荐

    Javascript四舍五入(一)源码

    `Math.round()`函数是JavaScript内置的一个数学方法,用于对数字进行四舍五入处理。此函数接收一个参数,即需要进行四舍五入操作的数值。该函数会返回最接近给定数字的整数。如果参数距离两个整数等距,则会向较大的...

    四舍五入网页源代码.zip

    四舍五入是一种数字处理方法,常用于对数字进行简化,使其更接近整数或指定的小数位数。在编程领域,四舍五入是常见的数学操作,特别是在数据展示、计算精度控制或者财务计算中。这个压缩包可能包含了HTML、CSS和...

    浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法

    浏览器窗口大小变化时使用resize事件对框架不起作用的解决办法,如下: 代码如下:$(window).resize(function(){var surH = $(window).height();$(“.pic_conent”).height(surH);} 当浏览器变化,拉大拉小时,没有...

    jquery.winResize.js 解决ie的resize事件的bug

    ie的resize事件只要拖拽不放手就会一直执行很多很多遍的resize事件。需要用到这个js就能解决这个bug啦

    在IE浏览器中resize事件执行多次的解决方法

    为了解决IE浏览器中resize事件执行多次的问题,一种常见的解决方案是使用延时器(debounce)技术。这通常是通过设置一个定时器,在resize事件触发时清除已存在的定时器,并重新设置一个新的定时器。当定时器内的函数...

    JavaScript里四舍五入函数round用法实例

    5. round函数与其他四舍五入方法的比较:在JavaScript中,除了round方法外,还有其他几种方法用于处理数字的四舍五入,如Math.floor()和Math.ceil()。Math.floor()方法是向下取整,无论小数部分是多少,都舍去小数...

    IE8的JavaScript点击事件(onclick)不兼容的解决方法

    根据提供的内容,文章介绍了一种解决该问题的方法,即通过`document.createElement`创建新元素后,手动将事件处理函数赋值给元素的onclick属性,并使用`eval`函数执行这段代码。尽管这种方法可以工作,但使用`eval`...

    js四舍五入数学函数round使用实例

    JavaScript中的数学对象Math提供了一个非常实用的四舍五入方法——round函数。该函数可以用于将数字四舍五入到最接近的整数。如果小数部分是.5或更高,它会向更高的方向四舍五入;如果小于.5,则向更低的方向四舍五...

    js实现四舍五入完全保留两位小数的方法

    标题中提到的是“js实现四舍五入完全保留两位小数的方法”,这指的是在JavaScript编程语言中,如何编写函数来确保数字在进行四舍五入后,不论小数部分是大于还是小于两位数字,最终结果都能被格式化为恰好两位小数的...

    JS实现保留n位小数的四舍五入问题示例

    JavaScript中的Math对象提供了四舍五入的方法Math.round(),该方法可以将数字四舍五入到最接近的整数。然而,直接使用Math.round()并不能满足保留小数位的需求。因此,需要通过一些数学运算来扩展这个功能,使得可以...

    JavaScript实现基于十进制的四舍五入实例

    在JavaScript中,四舍五入的实现通常是通过Math对象提供的方法来完成的。然而,有时候开发者可能需要实现一个自定义的四舍五入函数,用于特定的场景或是为了更细致地控制四舍五入的行为。本文将详细介绍如何使用...

    ie不执行javascript修复

    ie不执行javascript修复ie不执行javascript修复ie不执行javascript修复 当IE不能正常运行时,打开该工具就可以了,自动修复

    Javascript四舍五入Math.round()与Math.pow()使用介绍

    代码如下: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML... <head> <title>Javascript四舍五入(Math.round()与Math.pow())</title> [removed] //Math.round(x);返回数字最接近的整数,四舍五入取整

    修复ie8&chrome下window的resize事件多次执行

    在JavaScript编程中,`window.resize`事件是一个非常常见的场景,它用于监听浏览器窗口大小的变化。然而,在某些浏览器,尤其是IE8及以下版本和Chrome中,原生的`window.onresize`事件可能会出现多次执行的问题,这...

    js常用方法(js常用鼠标事件和其对应的方法)

    JavaScript(简称JS)是一种轻量级的脚本语言,常用于网页交互和动态网页开发。在JavaScript中,处理用户交互的常见方式之一是利用鼠标事件。以下是一些JS常用的鼠标事件及其对应的方法: 1. `click`:当用户点击...

    使用JavaScript事件综合查询,js事件大全

    JavaScript事件是浏览器或Node.js环境中发生的特定行为,如用户点击按钮、页面加载完成或输入框获得焦点等。事件驱动编程是JavaScript的核心特性之一,通过监听和处理这些事件,我们可以创建响应式的用户体验。 二...

    Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法

    `toFixed()` 方法按照“银行家舍入”法则进行四舍五入。银行家舍入法是一种特殊的舍入策略,旨在避免舍入误差积累。它的规则是: 1. 当需要舍弃的数字小于4时,直接舍去。 2. 当需要舍弃的数字大于等于6时,向前一...

    IE7.JS解决IE兼容性问题方法

    标题 "IE7.JS解决IE兼容性问题方法" 指的是使用一个名为 "IE7.JS" 的脚本库来解决Internet Explorer浏览器的兼容性问题。IE7.JS是开源社区开发的一个JavaScript库,其目标是通过模拟缺失的功能和修复已知的错误,...

    [JavaScript]解决页面onresize缩放时多次调用的问题.doc

    2. 对于IE6和IE7,创建一个全屏div监听resize事件,以减少事件触发的频率,提高浏览器稳定性。 这两种方法结合使用,可以在保证页面响应性的同时,有效防止旧版IE浏览器因resize事件过多调用导致的性能问题。

Global site tag (gtag.js) - Google Analytics