首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jQuery重写原生javascript

用jQuery重写原生javascript
EN

Stack Overflow用户
提问于 2011-06-26 14:00:45
回答 1查看 382关注 0票数 0

我有一个原生的JavaScript函数,我想用jQuery重写它。你能帮帮我吗?远远超出我的理解..。

编辑:快速处理“请为我重构我的代码”的评论-我不是要求你重写工作,我只是想要一些关于如何重写这项工作的指导。正如大家都经历过的那样,很难找到有帮助的文档、教程和书籍。欢迎任何建议,但是..

代码语言:javascript
复制
if(you dont have anything nice to say){
    dont
}



 var RESIZER = function(){ 

    this.prevWidth = resizee.offsetWidth;
    this.prevHeight = resizee.offsetHeight;

    this.resizee = resizeeContainer.getElementsByTagName('video')[0];
    this.resizeeContainer = resizee.parentNode;
    this.resizeeStyle = this.resizee.style;

    var ratio = this.resizee.offsetHeight/this.resizee.offsetWidth;

    var that = this;

    this.Init = function(){
        if( that.resizeeContainer.className.lastIndexOf("resizerd")>=0 )
        {
            var resizeeContOffsetWidth = that.resizeeContainer.offsetWidth;
            var resizeeOffsetWidth = that.resizee.offsetWidth;
            var resizeeContOffsetHeight = that.resizeeContainer.offsetHeight;
            var resizeeOffsetHeight = that.resizee.offsetHeight;

            if(that.prevWidth!= resizeeContOffsetWidth)
            {
                that.prevWidth = resizeeContOffsetWidth;
                var desired = resizeeContainer.offsetHeight/resizeeContainer.offsetWidth;
                if(desired>ratio){
                    that.resizeeStyle.width=resizeeContOffsetWidth*desired+resizeeContOffsetWidth*desired+"px";
                    that.resizeeStyle.left = -1*(resizeeOffsetWidth-resizeeContOffsetWidth)/2+'px';
                }
                else{ 
                 that.resizeeStyle.cssText="width:100%;height:auto;position:fixed;";
                }
            }

            if(that.prevHeight!=resizeeContOffsetHeight)
            { 
                that.prevHeight = resizeeContOffsetHeight;
                var desired = resizeeContOffsetHeight/resizeeContOffsetWidth;  
                if(desired>ratio){  console.log(ratio);
                    //that.resizeeStyle.top = '0px';
                    that.resizeeStyle.left = -1*(resizeeOffsetWidth-resizeeContOffsetWidth)/2+'px';
                    that.resizeeStyle.width = resizeeContOffsetHeight*desired+resizeeContOffsetHeight/desired+'px';
                }
                else
                {
                    that.resizeeStyle.top = -1*(resizeeOffsetHeight-resizeeContOffsetHeight)/2+'px';

                }
            }

        }
    };
};

var myResizerObject = new RESIZER();
window.onresize = myResizerObject.Init;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-26 14:50:36

开发jQuery插件,虽然不是很困难,但也不是那么简单。要做到这一点,唯一的方法是从教程开始,学习细节。然后你可以取一段代码,把它变成一个可以正常工作的插件。但你必须先学到一些东西。

如果你还没有读过jQuery初学者插件教程,我想:http://docs.jquery.com/Plugins/Authoring先试着开发一个简单的插件,比如输入域验证插件之类的。

我不确定原生脚本和浏览器的不同解释是什么意思;一些JS依赖于浏览器。jQuery原生函数应该是浏览器不可知的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6482420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档