jq hide show

摘要:
==0){obj.style.width=width+'px';obj.style.height=height+'px';setTimeout;}否则{//减去后,设置要隐藏的属性以及原始dom obj.style.display='none';obj.style.width=oWidth;obj.style.height=oHeight;iffn.call;}进程;}varshow=函数{obj=$;if(!
 var $ = function (id) {
        return document.getElementById(id);
    }
    //返回dom元素的当前某css值
    var getCss = function (obj, name) {
        //ie
        if (obj.currentStyle) {
            return obj.currentStyle[name];
        }
        //ff
        else {
            var style = document.defaultView.getComputedStyle(obj, null);
            return style[name];
        }
    }

    var hide = function (obj, speed, fn) {
        obj = $(obj);

        if (!speed) {
            obj.style.display = 'none';
            return;
        }
        else {
            speed = speed === 'fast' ? 20 : speed === 'normal' ? 30 : 50;
            obj.style.overflow = 'hidden';
        }
        //获取dom的宽与高
        var oWidth = getCss(obj, 'width'), oHeight = getCss(obj, 'height');
        //每次dom的递减数(等比例)
        var wcut = 10 * (+oWidth.replace('px', '') / +oHeight.replace('px', '')), hcut = 10;
        //处理动画函数
        var process = function (width, height) {
            width = +width - wcut > 0 ? +width - wcut : 0;
            height = +height - hcut > 0 ? +width - hcut : 0;
            //判断是否减完了
            if (width !== 0 || height !== 0) {
                obj.style.width = width + 'px';
                obj.style.height = height + 'px';

                setTimeout(function () {
                    process(width, height);
                }, speed);
            }
            else {
                //减完后,设置属性为隐藏以及原本dom的宽与高
                obj.style.display = 'none';
                obj.style.width = oWidth;
                obj.style.height = oHeight;
                if (fn)fn.call(obj);
            }
        }
        process(oWidth.replace('px', ''), oHeight.replace('px', ''));
    }

    var show = function (obj, speed, fn) {

        obj = $(obj);

        if (!speed) {
            obj.style.display = 'block';
            return;
        }
        else {
            speed = speed === 'fast' ? 20 : speed === 'normal' ? 30 : 50;
            obj.style.overflow = 'hidden';
        }

        var oWidth = getCss(obj, 'width').replace('px', ''), oHeight = getCss(obj, 'height').replace('px', '');
        var wadd = 10 * (+oWidth / +oHeight), hadd = 10;

        obj.style.width = 0 + 'px';
        obj.style.height = 0 + 'px';
        obj.style.display = 'block';

        var process = function (width, height) {
            width = +oWidth - width < wadd ? +oWidth : wadd + width;
            height = +oHeight - height < hadd ? oHeight : hadd + height;

            if (width !== +oWidth || height !== +oHeight) {
                obj.style.width = width + 'px';
                obj.style.height = height + 'px';

                setTimeout(function () {
                    process(width, height);
                }, speed);
            }
            else {
                obj.style.width = oWidth + 'px';
                obj.style.height = oHeight + 'px';
                if (fn)fn.call(obj);
            }
        }
        process(0, 0);
    }

免责声明:文章转载自《jq hide show》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇2.Eclipse中绑定Tomcat得到css style下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

机器学习 标准差

什么是标准差? 标准差(Standard Deviation,又常称均方差)是一个数字,描述值的离散程度。 低标准偏差表示大多数数字接近均值(平均值)。 高标准偏差表示这些值分布在更宽的范围内。 例如:这次我们已经登记了 7 辆车的速度: speed = [86,87,88,86,87,85,86] 标准差是: 0.9 意味着大多数值在平均值的 0.9 范围...

unity3d控制模型的运动

这里就不多做解释了,直接上代码,只为了备忘。 public classHeroMove : MonoBehaviour { private float speed;//人物行动速度 privateAnimation ani; //Use this for initialization voidStart () {...

JavaScript——创建运动框架

封装好的运动框架Move(obj,attr,iTarget),可直接调用: 可用于设置width、border、fontSize、marginLeft、opacity等许多常见属性值的变速变化,实现各种有趣效果。 兼容IE和FF。 /**************** * * IE-BUG: * 在IE中,设置opacity属...

如何优化一个网站使之提高访问速度

最近公司开始考核企业站下所有站点,首先从itpub开始进行。为此,开始学习关于如何优化一个网站使之提高访问速度这方面的知识。得知page speed 是个不错的工具,就下载下来了。介绍下这个工具吧,Page Speed 是开源 Firefox/Firebug 插件。网站管理员和网络开发人员可以使用 Page Speed 来评估他们网页的性能,并获得有关如何改...

【javascript】无缝滚动改进版(封装成函数)

昨天写了两篇关于无缝滚动的文章,无缝滚动——左右和无缝滚动——上下,今天抽空整理了下,封装成函数,同时支持上下左右无缝滚动。 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>无缝滚动—...

jQuery动画知识总结

jQuery动画概述 我们之前实现的下拉菜单的案例,是没有动画效果的,但是在日常开发中,动画效果是经常会用到的,所以我们可以尝试使用jQuery动画,将下拉菜单案例实现的更动感一些。 jQuery提供了三组动画,这些动画都是标准的、有规律的效果,同时jQuery还提供了自定义动画的功能。 显示与隐藏 显示(show)与隐藏(hide)是一组动画: show方...