我有一个原生的JavaScript函数,我想用jQuery重写它。你能帮帮我吗?远远超出我的理解..。
编辑:快速处理“请为我重构我的代码”的评论-我不是要求你重写工作,我只是想要一些关于如何重写这项工作的指导。正如大家都经历过的那样,很难找到有帮助的文档、教程和书籍。欢迎任何建议,但是..
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;发布于 2011-06-26 14:50:36
开发jQuery插件,虽然不是很困难,但也不是那么简单。要做到这一点,唯一的方法是从教程开始,学习细节。然后你可以取一段代码,把它变成一个可以正常工作的插件。但你必须先学到一些东西。
如果你还没有读过jQuery初学者插件教程,我想:http://docs.jquery.com/Plugins/Authoring先试着开发一个简单的插件,比如输入域验证插件之类的。
我不确定原生脚本和浏览器的不同解释是什么意思;一些JS依赖于浏览器。jQuery原生函数应该是浏览器不可知的。
https://stackoverflow.com/questions/6482420
复制相似问题