Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

建议JS集中到一个变量上去

[复制链接]
lanhebbs 发表于 2012-11-30 16:53:44 | 显示全部楼层 |阅读模式
{:soso_e100:}
很多showMenu ajax都是很含糊的.

不如集中到一个变量中,这样也方便出API可以参考
回复

使用道具 举报

mark35 发表于 2012-11-30 19:04:28 | 显示全部楼层
楼上看了js蝴蝶书(其实是金斑蝶)么~
js没命名管理,不过可以自己创建。 其实在PHP层面已经在从dz7.2到X2的升级中实现了,现在dz就使用$_G这个变量保存许多东西,而不是dz72那样用extract()生成多个单独的变量
回复

使用道具 举报

 楼主| lanhebbs 发表于 2012-12-1 16:49:36 | 显示全部楼层
mark35 发表于 2012-11-30 19:04
楼上看了js蝴蝶书(其实是金斑蝶)么~
js没命名管理,不过可以自己创建。 其实在PHP层面已经在从dz7.2到X ...

((em:09))好吧,你不懂的.

我说JS 不是PHP。
你用过JQ么.JQ就是把变量集中去一个变量去
回复

使用道具 举报

mark35 发表于 2012-12-1 17:59:02 | 显示全部楼层
本帖最后由 mark35 于 2012-12-1 18:00 编辑
lanhebbs 发表于 2012-12-1 16:49
好吧,你不懂的.

我说JS 不是PHP。

通读过这本书 http://book.360buy.com/11090963.html

难道还会不知道你说的啥么~

回复

使用道具 举报

 楼主| lanhebbs 发表于 2012-12-1 18:03:08 | 显示全部楼层
你能看懂这个么

var sb=function (){
return new sb.init();
}
sb.init = function (){
   alert('you are 2');
}
---------
sb();
回复

使用道具 举报

mark35 发表于 2012-12-1 18:07:10 | 显示全部楼层
本帖最后由 mark35 于 2012-12-1 18:09 编辑
lanhebbs 发表于 2012-12-1 18:03
你能看懂这个么

var sb=function (){

你能看懂这个源码么 http://www.oschina.net/code/snippet_126398_5391
半桶水响叮当就不要在这儿丢人现眼了
回复

使用道具 举报

 楼主| lanhebbs 发表于 2012-12-1 18:52:15 | 显示全部楼层
mark35 发表于 2012-12-1 18:07
你能看懂这个源码么 http://www.oschina.net/code/snippet_126398_5391
半桶水响叮当就不要在这儿丢人现 ...

{:4_101:}大哥你是高手原谅我这个SB吧~~


但是有个疑问,感觉你的完全可以独立与JQ的.为何还叫JQ多级联动菜单??
回复

使用道具 举报

 楼主| lanhebbs 发表于 2012-12-1 18:55:06 | 显示全部楼层
看了一下demo...
未命名.jpg
回复

使用道具 举报

 楼主| lanhebbs 发表于 2012-12-1 22:34:33 | 显示全部楼层
mark35 发表于 2012-12-1 18:07
你能看懂这个源码么 http://www.oschina.net/code/snippet_126398_5391
半桶水响叮当就不要在这儿丢人现 ...


  1. <script type="text/javascript" src="demo-public/js/district-all.js"></script>
  2. <script type="text/javascript">
  3. var S=function(d){if(typeof d=='object'){return S.init(d);}};S.data={};S.init=function(d){var i=Math.random();S.data[i]=d;document.writeln(S.read(i));return i};S.read=function(a,b,c){var d=b?b:S.data[a];str='<select dataid="'+a+'" id="sbs_'+a+(c?c:'')+'" onchange="S.run(this)" onfocus="S.run(this)"><option value="">请选择</option>';for(var i in d){if(d[i]['name']){str+='<option value="'+i+'">'+d[i]['name']+'</option>'}}str+='</select>';return str};S.getdata=function(a,b){var k=b.split('_'),d=S.data[a][k[0]],f;if(k.length>1){for(var i=1;i<k.length;i++){f=k[i];if(d['cell']&&d['cell'][f]&&d['cell'][f]['cell']){d=d['cell'][f]}else{return-1}}}return d};S.$=function(d){return document.getElementById(d)};S.hide=function(a,b){e=S.$('sbs_'+a).id+S.$('sbs_'+a).value;f=c=S.$('sbs_'+a).getAttribute('key');for(var i=0;i<100;i++){if(S.$(c)){if(S.$(c)){S.$(c).style.display='none'}if(S.$(c).getAttribute('key')){c=S.$(c).getAttribute('key')}}else{break}}if(S.$(f)==S.$(e)){S.$(e).style.display=''}};S.show=function(a,b){c=S.$('sbs_'+a).id+S.$('sbs_'+a).value;for(var i=0;i<100;i++){if(S.$(c)){S.$(c).style.display='';if(S.$(c).value){c+='_'+S.$(c).value}}else{break}}};S.run=function(a){if(!a.value)return;var i=a.getAttribute('dataid'),key=a.getAttribute('key'),c=a.id,f;k=c.replace('sbs_'+i,'');if(!k){k=a.value}else{;k+='_'+a.value}if('sbs_'+i+k==key){return}if(S.$(key)){S.hide(i)}if(S.$('sbs_'+i+k)){S.show(i);a.setAttribute('key','sbs_'+i+k);return}a.setAttribute('key','sbs_'+i+k);sbs=S.$('sbs_menu');if(!sbs){var sbs=document.createElement('div');sbs.id="sbs_menu";sbs.style.display='none';document.getElementsByTagName('body')[0].appendChild(sbs)}f=S.getdata(i,k);if(f==-1){return}sbs.innerHTML=S.read(i,f['cell'],k);a.parentNode.insertBefore(S.$('sbs_'+i+k),a);a.parentNode.insertBefore(a,S.$('sbs_'+i+k));return i}
  4. S.showdata=function (a,b,c){
  5.         var e=b?b:10;f='sbs_'+a,g=c?c:'',h="",i=0,j=S.data[a],v=0,k="";
  6.         for(;i<e;i+=1){
  7.                 if(S.$(f)){
  8.                         v = S.$(f).value;
  9.                         if(v){
  10.                                 j = j[v];
  11.                                 h += j['name'];
  12.                                 j = j['cell'];
  13.                                 f +=k+S.$(f).value;
  14.                                 k="_";
  15.                         }
  16.                        
  17.                 }else{
  18.                         break;
  19.                 }
  20.         }
  21.         return h;
  22. }
  23. var x = S(districtData);
  24. </script>
  25. <input name="查看" type="button" onclick="alert(S.showdata(x));" value="查看"/>

复制代码
回复

使用道具 举报

 楼主| lanhebbs 发表于 2012-12-1 22:35:07 | 显示全部楼层
原来这么简单的一回事
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-12 05:16 , Processed in 0.126149 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表