/**
 * 隐藏元素
 * @param {String} elem
 */
function hide(elem){
    var curDisplay = getStyle(elem, 'display');
     
    if(curDisplay != 'none'){
        elem.oldDisplay = curDisplay;
    }
    elem.style.display = 'none';
}
 
/**
 * 显示元素
 * @param {String} elem
 */
function show(elem){
    elem.style.display = elem.oldDisply || 'block';
}
 
/**
 * 设置透明度
 * @param {Object} elem
 * @param {Object} level (0-100)
 */
function setOpacity(elem, level){
    if(elem.filters){ //如果是IE
        elem.style.filter = 'alpha(opacity=' + level + ')';
        //必须设置zoom,要不然透明度在IE下不生效  From:http://blog.csdn.net/dxx1988/article/details/6581430
        elem.style.zoom = 1;
    } else { //否则是W3C
        elem.style.opacity = level / 100;
    }
}
 
/**
 * 滑动
 * @param {Object} elem
 */
function slideDown(elem){
    //elem.style.height = '0px';
     
    show(elem);
    var h = fullHeight(elem);
     
    for(var i=0; i<=100; i+=5){
        (function(){
            var pos = i;
             
            setTimeout(function(){
                elem.style.height = (pos/100) * h + 'px';
            }, (pos + 1) * 5);
        })();
    }
}
//slideDown($('pText'));
//alert(fullHeight($('pText')));
 
/**
 * 透明度渐显 From: http://mrthink.net/js-fadein-fadeout-fadeto/
 * @param {Object} elem
 * @param {Number} speed 淡入速度,正整数(可选)
 * @param {Number} opacity 淡入到指定的透明度,0~100(可选)
 */
function fadeInThink(elem, speed, opacity){
    speed = speed || 20;
    opacity = opacity || 100;
     
    show(elem);
    setOpacity(elem, 0);
    //初始化透明度变化值为0
    var val = 0;
    //循环将透明值以5递增,即淡入效果
    (function(){
        setOpacity(elem, val);
        val += 5;
        if (val <= opacity) {
            setTimeout(arguments.callee, speed)
        }
    })();
 
}
 
 
/**
 * 透明度渐显
 * @param {Object} elem
 */
function fadeIn(elem){
    //setOpacity(emel, 0);
     
    show(elem);
    for(var i=0; i<=100; i+=10){
        (function(){
            var pos = i;
            setTimeout(function(){
                setOpacity(elem, pos);
            }, (pos + 1) * 10);
        })();
    }
}
 
/**
 * 透明度渐隐 From: http://mrthink.net/js-fadein-fadeout-fadeto/
 * @param {Object} elem
 */
function fadeOut(elem){
    var val = 100;
     
    (function(){
        setOpacity(elem, val);
        val -= 5;
        if(val >= 0){
            setTimeout(arguments.callee, 50);
        } else if(val < 0){
            hide(elem);
        }
    })();
}
 
//fadeInThink($('pText'));
 
/**
* 光标的水平位置
* @param {Object} e
*/
function getX(e){
    e = e || window.event;
     
    return e.pageX || e.clientX + document.body.scrollLeft;
}
 
/**
* 光标的垂直位置
* @param {Object} e
*/
function getY(e){
    e = e || window.event;
     
    return e.pageY || e.clientY + document.body.scrollTop;
}
 
/**
 * 获得鼠标相对于当前元素的X位置
 * @param {Object} e
 */
function getElementX(e){
    return (e && e.layerX) || window.event.offsetX;
}
 
/**
 * 获得鼠标相对于当前元素的Y位置
 * @param {Object} e
 */
function getElementY(e){
    return (e && e.layerY) || window.event.offsetY;
}
 
/**
 * 当前页面的高度
 */
function pageHeight(){
    return document.body.scrollHeight;
}
 
/**
 * 当前页面的宽度
 */
function pageWidth(){
    return document.body.scrollWidth;
}
 
//alert(pageHeight());
 
/**
 * 视口的高度
 */
function windowHeight(){
    var de = document.documentElement;
     
    return self.innerHeight || (de && de.clientHeight) || document.body.clientHeight;
}
 
/**
 * 视口的高度
 */
function windowWidth(){
    var de = document.documentElement;
     
    return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
}
 
/**
 * 浏览器水平滚动位置
 */
function scrollX(){
    var de = document.documentElement;
     
    return self.pageOffsetset ||  (de && de.scrollLeft) || document.body.scrollLeft;
}
 
/**
* 浏览器垂直滚动位置
 */
function scrollY(){
    var de = document.documentElement;
     
    return self.pageYOffset || (de && de.scrollTop) || document.body.scrollTop;
}

js常见函数汇总的更多相关文章

  1. 常见算法是js实现汇总(转载)

    常见算法是js实现汇总 /*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.len ...

  2. 最新Node.js 资源汇总

    Node.js 资源汇总 文档 Node.js 官方文档:http://nodejs.org/api/ Node.js 中文文档:http://nodejs.jsbin.cn/api/ Express ...

  3. JS循环汇总

    JS循环汇总 一.总结 一句话总结:js中的循环主要有while.for.for...in.for...of,循环是,要区别不同的循环对象,比如对象,数组,集合等 while for for...in ...

  4. 微信JS接口汇总及使用详解

    这篇文章主要介绍了微信JS接口汇总及使用详解,十分的全面.详尽,包含分享到朋友圈,分享给朋友,分享到QQ,拍照或从手机相册中选图,识别音频并返回识别结果,使用微信内置地图查看位置等接口,有需要的小伙伴 ...

  5. 调用手机端硬件功能 汇总(android/ios) Native.js示例汇总

    Native.js示例汇总 NJS Native.JS 示例 Native.js虽然强大和开放,但很多web开发者因为不熟悉原生API而难以独立完成.这篇帖子的目的就是汇总各种写好的NJS代码,方便w ...

  6. 前端Js框架汇总(工具多看)

    前端Js框架汇总(工具多看) 一.总结 一句话总结: 二.前端Js框架汇总 概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领 ...

  7. node.js使用汇总贴

    金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉..NET程序员初用node.js最需要适应的就是异步开发,以及弱类型语言难以避免的拼写错误与弱小的语法提示 ...

  8. Native.js示例汇总

    Native.js虽然强大和开放,但很多web开发者因为不熟悉原生API而难以独立完成.这篇帖子的目的就是汇总各种写好的NJS代码,方便web开发者.众人拾柴火焰高,有能力的开发者多多提交NJS代码, ...

  9. linq to js使用汇总

    用途:方便js操作查询json数据. 下载网址:http://jslinq.codeplex.com/ 使用方法:只需要引用linq.js即可. 查询方法: 一.where查询 var myList ...

随机推荐

  1. EasyUI中动态生成标签页

    这是最近学到的内容,当时是有思路但是不知道怎么获取当前的点击对象,就没有实现功能,通过更深入的学习,我知道了不仅仅是Java,Oracle中有一个this,同样的EasyUI中也存在一个this,来获 ...

  2. python pip install

    wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz https://github.com/pypa ...

  3. HR数据抽取:通过 Read Master Data 转换规则读取时间相关主属性数据

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. 如何让一个DIV浮动在另一个DIV上面

      直接上DEMO了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3 ...

  5. TCP短连接TIME_WAIT问题解决方法大全

    tcp连接是网络编程中最基础的概念,基于不同的使用场景,我们一般区分为“长连接”和“短连接”,长短连接的优点和缺点这里就不详细展开了,有心的同学直接去google查询,本文主要关注如何解决tcp短连接 ...

  6. Delphi名站以及高手Blog

    以前知道的: http://cnblogs.com/del (万一兄的,这个不用解释了) http://www.cnblogs.com/del/archive/2010/04/25/1720750.h ...

  7. TCP/IP协议学习(三) STM32中ETH驱动配置注意事项

    1.MII/RMII/SMI接口连接和配置 SMI又称站点管理接口,用于cpu与外置PHY芯片通讯,配置相关参数,包含MDC和MDIO两个管脚(CPU上有对应引脚,当然用普通GPIO口模拟SMI管理也 ...

  8. 【PHP】基于ThinkPHP框架搭建OAuth2.0服务

    [PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403

  9. dev uploadcontrol 上传图片

    <script type="text/javascript"> // <![CDATA[ function Uploader_OnUploadStart() { ...

  10. equals方法的小结

    尽管经常使用equals,也可能理解不一定神,最近又要使用Collections.sort看到了这些,总结的不错. 首先equals方法必须满足自反性.对称性.传递性和一致性. 自反性(x.equal ...