口袋社区-Poke The BBS's Archiver

youd 发表于 2009-8-13 14:13

PM能力计算的JQ代码。JQuery是好物呀。

[url=http://poketb.com/bbs/dex.php?action=power&pmid=1]http://poketb.com/bbs/dex.php?action=power&pmid=1[/url]

图鉴中的能力计算昨日改成了JS版,比PHP在体验上确实有优势XD
趁着课间,发来分享。
鉴于初学JQuery,代码很不熟练,想必也有很多不如意之处,贴在这里供分享与参考XD[code]function Powercount(){
        var plv;
        var hp,atk,def,sat,sde,spd,pmuhp,pmuatk,pmudef,pmusat,pmusde,pmuspd,pmphp,pmpatk,pmpdef,pmpsat,pmpsde,pmpspd,chahp,chaat,chade,chasa,chasd,chasp;
        var php,pat,pde,psa,psd,psp;
        plv=$('#plv').val()-0;
        hp=$('#hp').val()-0;
        atk=$('#atk').val()-0;
        def=$('#def').val()-0;
        sat=$('#sat').val()-0;
        sde=$('#sde').val()-0;
        spd=$('#spd').val()-0;
        pmuhp=$('#pmuhp').val()-0;
        pmuatk=$('#pmuatk').val()-0;
        pmudef=$('#pmudef').val()-0;
        pmusat=$('#pmusat').val()-0;
        pmusde=$('#pmusde').val()-0;
        pmuspd=$('#pmuspd').val()-0;
        pmphp=$('#pmphp').val()-0;
        pmpatk=$('#pmpatk').val()-0;
        pmpdef=$('#pmpdef').val()-0;
        pmpsat=$('#pmpsat').val()-0;
        pmpsde=$('#pmpsde').val()-0;
        pmpspd=$('#pmpspd').val()-0;
        chahp=$('#chahp').val()-0;
        chaat=$('#chaat').val()-0;
        chade=$('#chade').val()-0;
        chasa=$('#chasa').val()-0;
        chasd=$('#chasd').val()-0;
        chasp=$('#chasp').val()-0;
        php=Math.floor((hp*2+pmuhp+pmphp/4)*plv/100+plv+10);
        pat=Math.floor(((atk*2+pmuatk+pmpatk/4)*plv/100+5)*chaat);
        pde=Math.floor(((def*2+pmudef+pmpdef/4)*plv/100+5)*chade);
        psa=Math.floor(((sat*2+pmusat+pmpsat/4)*plv/100+5)*chasa);
        psd=Math.floor(((sde*2+pmusde+pmpsde/4)*plv/100+5)*chasd);
        psp=Math.floor(((spd*2+pmuspd+pmpspd/4)*plv/100+5)*chasp);
        $('#php').html(php);
        $('#pat').html(pat);
        $('#pde').html(pde);
        $('#psa').html(psa);
        $('#psd').html(psd);
        $('#psp').html(psp);
}

function Percount(){
        var ilv;
        var hp,atk,def,sat,sde,spd,chbhp,chbat,chbde,chbsa,chbsd,chbsp,nhp,natk,ndef,nsat,nsde,nspd,uhp,uatk,udef,usat,usde,uspd;
        var ihp,iat,ide,isa,isd,isp;
        ilv=$('#ilv').val()-0;
        hp=$('#bhp').val()-0;
        atk=$('#batk').val()-0;
        def=$('#bdef').val()-0;
        sat=$('#bsat').val()-0;
        sde=$('#bsde').val()-0;
        spd=$('#bspd').val()-0;
        nhp=$('#nhp').val()-0;
        natk=$('#natk').val()-0;
        ndef=$('#ndef').val()-0;
        nsat=$('#nsat').val()-0;
        nsde=$('#nsde').val()-0;
        nspd=$('#nspd').val()-0;
        chbhp=$('#chbhp').val()-0;
        chbat=$('#chbat').val()-0;
        chbde=$('#chbde').val()-0;
        chbsa=$('#chbsa').val()-0;
        chbsd=$('#chbsd').val()-0;
        chbsp=$('#chbsp').val()-0;
        uhp=$('#uhp').val()-0;
        uatk=$('#uatk').val()-0;
        udef=$('#udef').val()-0;
        usat=$('#usat').val()-0;
        usde=$('#usde').val()-0;
        uspd=$('#uspd').val()-0;
        ihp=Math.round((nhp-ilv-10)*100/ilv-uhp/4-2*hp);
        alert(uhp);
        iat=Math.round((natk-5)*(100/ilv)/chbat-atk*2-uatk/4);
        ide=Math.round((ndef-5)*(100/ilv)/chbde-def*2-udef/4);
        isa=Math.round((nsat-5)*(100/ilv)/chbsa-sat*2-usat/4);
        isd=Math.round((nsde-5)*(100/ilv)/chbsd-sde*2-usde/4);
        isp=Math.round((nspd-5)*(100/ilv)/chbsp-spd*2-uspd/4);
        $('#ihp').html(ihp);
        $('#iat').html(iat);
        $('#ide').html(ide);
        $('#isa').html(isa);
        $('#isd').html(isd);
        $('#isp').html(isp);
}[/code]只是简单的运算,意在表明JQ中$函数和一些相关的读取以及写入函数的功用。

墨者happy 发表于 2009-8-13 14:42

[color=green]这好长……完全看不懂……
不过看起来MS很难啊……
但是感觉那个计算和以前没有啥区别呢……[/color]

六边形的梦 发表于 2009-8-13 15:32

JS版啊?不过那个计算界面上显示有错误噢。

youd 发表于 2009-8-13 16:23

FireBUG显示的错误是DZ的某个代码的问题……|||和这个没关系。

roywillow 发表于 2009-8-13 16:51

JS……JavaScript吗??

那么JQ是……?

caiilee 发表于 2009-8-13 21:09

JQuery听说是很不错的东西,好像对于控制事件比较方便。。。。。
蛋蛋网的很多JS都是用了JQ的API。。。
一直想研究的。。。不过人老了。。变懒了。。。。

youd 发表于 2009-8-13 21:27

恩,很好用的,最新的那个好友排序就用了JQuery UI的一个实例。那些拖动也是用的JQuery,很方便。比直接写JS兼容性要好,而且也简便,发送Ajax请求也会轻松不少直接
$.ajax

caiilee 发表于 2009-8-13 21:37

我是用prototype的ajax。。。可以直接更新一个tag里的所有html。。。也是相当方便的东西。。。。

youd 发表于 2009-8-13 21:43

恩,之前看过那个的介绍,都是JS开发的常用库。JQ是个轻量级的(记得以前的版本才21K……最近暴增一倍)
JQuery更新标签的语法是$("标签").html("内容");
更新指定ID的标签式$("#ID名").html("内容");

caiilee 发表于 2009-8-13 21:48

哈哈,相当于getElementById().innerHTML......
其实还是喜欢标准的JS语言。。。
总觉得写成上面那个样子别扭- -

youd 发表于 2009-8-13 21:52

之前一直在用标准的JS。可是不太好记忆- -|||拼写好麻烦的。
加载页面也可以$("#xxx").load("http://xxx.xx.xx/xxx");
如果用JS方式,还要写好几行。

caiilee 发表于 2009-8-13 22:15

en那到是。。。用这个确实可以省时间。。。。。

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.