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

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)
分享到:
评论

相关推荐

    js四舍五入-保留两位小数

    ### JavaScript 四舍五入并保留两位小数的方法 在JavaScript中实现四舍五五并保留两位小数的功能是常见的需求之一,特别是在处理财务数据或需要精确显示数值的应用场景下。根据提供的信息,我们将深入探讨如何在...

    Javascript四舍五入(一)源码

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

    C#.NET,JAVASCRIPT数字进行四舍五入保留两位小数

    这里我们将深入探讨C#.NET和JavaScript中如何实现数字四舍五入并保留两位小数的方法。 首先,让我们看看C#.NET中的解决方案。在C#中,我们可以使用`Math.Round`方法来实现四舍五入。这个方法接受一个double类型的值...

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

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

    解决firefox下resize事件无效问题

    在JavaScript编程中,`resize`事件是一个非常常用的功能,它允许开发者监听窗口或元素尺寸的变化。然而,在Firefox浏览器中,可能会遇到`resize`事件不起作用的情况,这会给开发者带来一些困扰。本文将深入探讨这个...

    JavaScript中用于四舍五入的Math.round()方法讲解

    此方法返回一个数四舍五入为最接近的整数的值。 语法 Math.round( x ) ; 下面是参数的详细信息: x: 一个数字 返回值: 返回数字四舍五入为最接近的整数的值。 例子: <html> <head> <title>...

    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()方法是向下取整,无论小数部分是多少,都舍去小数...

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

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

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

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

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

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

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

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

    IE6浏览器下resize事件被执行了多次解决方法

    在IE浏览器下,一次resize事件被执行了多次。这是IE6和IE7的一个比较广为认知的问题,这个问题在这两个版本的浏览器中表现有所不同,通常IE6下会比IE7下更为糟糕。 现在已经有了一个较好的解决方案,让jquery....

    javascript四舍五入函数代码分享(保留后几位)

    这篇分享主要探讨了如何使用自定义函数实现JavaScript中的四舍五入功能,并且能够指定保留小数点后的位数。 首先,我们需要理解JavaScript内置的四舍五入方法。`Math.round()`是JavaScript提供的一个内置函数,它能...

    javascript页面加载完执行事件代码

    掌握页面加载完毕后执行JavaScript代码的方法对于开发者来说至关重要。本文将深入探讨如何在页面加载完成后执行特定的JavaScript事件代码,以及在实现此功能时需要注意的几个关键点。 首先,介绍页面加载状态的判断...

    ie不执行javascript修复

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

    特殊数据的js四舍五入问题

    在JavaScript中,四舍五入问题常常出现在处理浮点数时,由于计算机内部表示浮点数的方式(基于二进制的IEEE 754标准)可能导致精度损失,从而造成四舍五入结果不符合预期。标题和描述中提到的“特殊数据的js四舍五入...

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

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

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

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

Global site tag (gtag.js) - Google Analytics