工具函数之JS

1. 判断元素是否有滚动条

 1 /*
 2 1. 浏览器在没有滚动条的时候,scrollLeft/scrollTop赋值后不会发生变化,始终是0;
 3 2. scrollLeft,scrollTop为负数值时会报错
 4 */
 5 var scroll = function (elm) {
 6     var elms = elm ? [elm] : [document.documentElement, document.body],
 7         scrollX = false,
 8         scrollY = false,
 9         i, len, tmp, obj;
10
11     for (i = 0, len = elms.length; i < len; i++) {
12         obj = elms[i];
13
14         //Test horizontal scroll
15         tmp = obj.scrollLeft;
16         obj.scrollLeft += (tmp > 0) ? -1 : 1;
17         obj.scrollLeft !== tmp && (scrollX = scrollX || true);
18         obj.scrollLeft = tmp;
19
20         //Test vertical scroll
21         tmp = obj.scrollTop;
22         obj.scrollTop += (tmp > 0) ? -1 : 1;
23         obj.scrollTop !== tmp && (scrollY = scrollY || true);
24         obj.scrollTop = tmp;
25     }
26
27     return {
28         ‘isScrollX‘: scrollX,
29             ‘isScrollY‘: scrollY
30     };
31 };

2. 获取浏览器滚动条宽度

 1 /*
 2 1. 向页面插入一个看不到的元素,并设置它的宽度w,自身显示滚动条;
 3 2. 浏览器滚动条的宽度 = w - 它的clientWidth
 4 */
 5 var getScrollWidth = function () {
 6     var testNode, tmp;
 7
 8     testNode = document.createElement(‘div‘);
 9     testNode.style.cssText = "position:absolute;width:50px;height:50px;top:-1000px;overflow-y:scroll;";
10     document.body.appendChild(testNode);
11
12     tmp = testNode.clientWidth;
13     document.body.removeChild(testNode);
14     return 50 - tmp;
15 };

.Thinking

总结项目中经常用到的通用工具函数。

工具函数之JS,布布扣,bubuko.com

时间: 2024-10-23 00:07:11

工具函数之JS的相关文章

js常用工具函数大全

项目中经常会用到的js工具函数,待更新: 小于10补0,常用于日期月份补0: // 小于10补0 function format(n) { return n.toString().replace(/^(\d)$/, '0$1'); } 千分位显示,常用于价格显示: // 千分位 function toThousands(num) { return parseFloat(num).toFixed(2).replace(/(\d{1,3})(?=(\d{3})+(?:\.))/g, "$1,&quo

工具函数(一)

工具函数是指直接依附于jQuery对象,针对jQuery对象本身定义的方法,即全局性的函数.它的作用主要是提供比如字符串.数组.对象等操作方面的遍历. 字符串操作 在jQuery中,字符串的工具函数只有一个,就是去除字符串左右空格的工具函数:$.trim().如: var str = " jQuery "; alert(str); alert($.trim(str)); 数组和对象操作 jQuery为处理数组和对象提供了一些工具函数, 这些函数可以便利的给数组或对象进行遍历.筛选.搜索

工具函数(二)

测试操作 在jQuery中,数据有着各种类型和状态.有时,我们希望能通过判断数据的类型和状态做相应的操作.jQuery提供了五组测试用的工具函数. 测试工具函数 函数名 说明 $.isArray(obj) 判断是否为数组对象,是返回true $.isFunction(obj) 判断是否为函数,是返回true $.isEmptyObject(obj) 判断是否为空对象,是返回true $.isPlainObject(obj) 判断是否为纯粹对象,是返回true $.contains(obj) 判断

jquery 源码学习(四)构造jQuery对象-工具函数

jQuery源码分析-03构造jQuery对象-工具函数,需要的朋友可以参考下. 作者:nuysoft/高云 QQ:47214707 EMail:[email protected] 声明:本文为原创文章,如需转载,请注明来源并保留原文链接. 读读写写,不对的地方请告诉我,多多交流共同进步,本章的的PDF等本章写完了发布. jQuery源码分析系列的目录请查看 http://nuysoft.iteye.com/blog/1177451,想系统的好好写写,目前还是从我感兴趣的部分开始,如果大家有对哪

JQuery中的工具函数总结

前提引入 前提当然也是要引入Jquery啦... <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script> 工具方法 ①获取浏览器的名称与版本信息 在jQuery中,通过$.browser对象可以获取浏览器的名称和版本信息,如$.browser.chrome为true,表示当前为Chrome浏览器,$.browser.

jQuery工具函数

一.$.browser对象属性 属性列表 说明 webkit webkit相关浏览器则返回true,否则返回false,如google,傲游. mozilla mozilla相关浏览器则返回true,否则返回false,如火狐 safari    safari相关浏览器则返回true,否则返回false,如safari opera   opera相关浏览器则返回true,否则返回false,如opera msie msie相关浏览器则返回true,否则返回false,如IE,360,搜狗 ver

jQuery实用工具函数总结

一.数组和对象操作 1. $.each——遍历 $.each(obj,function(param1,param2))遍历数组时:param1为元素序号,param2为元素内容:遍历对象时:param1为元素属性名,param2为元素属性值. 例如:①遍历数组: $(function () { var arrStu = { "张三:": "60", "李四:": "70", "王二:": "80&

从零开始学习jQuery (九) jQuery工具函数

原文:从零开始学习jQuery (九) jQuery工具函数 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始学习jQ

【jQuery源码】工具函数

1 //扩展工具函数 2 jQuery.extend({ 3 // Unique for each copy of jQuery on the page 4 expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), 5 6 // Assume jQuery is ready without the ready module 7 isReady: true, 8 9 error: fun