MediaWiki:Resmark.js — различия между версиями
Vooon (обсуждение | вклад) |
Vooon (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
addOnloadHook(do_resmark_init); | addOnloadHook(do_resmark_init); | ||
+ | |||
+ | var resmark_cols = 3; | ||
+ | var resmark_elem = 'res'; | ||
+ | var resmark_col_pref = "resmark_tbl_l"; | ||
+ | var resmark_col_suf = "_"; | ||
+ | var resmark_colors = new Array( | ||
+ | {f:"white",s:"w"}, | ||
+ | {f:"gray",s:"gr"}, | ||
+ | {f:"violet",s:"v"}, | ||
+ | {f:"blue",s:"b"}, | ||
+ | {f:"green",s:"g"}, | ||
+ | {f:"yellow",s:"y"}, | ||
+ | {f:"orange",s:"o"}, | ||
+ | {f:"red",s:"r"}, | ||
+ | {f:"brown",s:"br"}, | ||
+ | {f:"black",s:"bl"}, | ||
+ | {f:"goldenrod",s:"au"}, | ||
+ | {f:"gainsboro",s:"ag"} | ||
+ | ); | ||
+ | var resmark_data = { | ||
+ | res: { | ||
+ | 3: { | ||
+ | 1:{da:{bl:1,au:1,ag:1},e:{w:'9',gr:'8',v:'7',b:'6',g:'5','y':'4',o:'3',r:'2',br:'1'}}, | ||
+ | 2:{da:{au:1,ag:1},e:{w:'9',gr:'8',v:'7',b:'6',g:'5','y':'4',o:'3',r:'2',br:'1',bl:'0'}}, | ||
+ | 3:{da:{},e:{w:'*1000000000',gr:'*100000000',v:'*10000000',b:'*1000000',g:'*100000','y':'*10000',o:'*1000',r:'*100',br:'*10',bl:'*1',au:'*0.1',ag:'*0.01'}} | ||
+ | } | ||
+ | } | ||
+ | }; | ||
function do_resmark_init() | function do_resmark_init() | ||
Строка 9: | Строка 37: | ||
{ // resmark block exist | { // resmark block exist | ||
var ids = new Array( | var ids = new Array( | ||
− | {id:'resmark_radio_elm_res',elm:'radio',nm:'elm',onclick:"resmark_elmRes_click()"}, | + | {id:'resmark_radio_elm_res',elm:'radio',nm:'elm',onclick:"resmark_elmRes_click()",'checked':1}, |
{id:'resmark_radio_elm_cap',elm:'radio',nm:'elm',onclick:"resmark_elmCap_click()"}, | {id:'resmark_radio_elm_cap',elm:'radio',nm:'elm',onclick:"resmark_elmCap_click()"}, | ||
{id:'resmark_radio_elm_ind',elm:'radio',nm:'elm',onclick:"resmark_elmInd_click()"}, | {id:'resmark_radio_elm_ind',elm:'radio',nm:'elm',onclick:"resmark_elmInd_click()"}, | ||
− | {id:'resmark_radio_lin_3',elm:'radio',nm:'lin', | + | {id:'resmark_radio_lin_3',elm:'radio',nm:'lin','checked':1}, |
− | {id:'resmark_radio_lin_4',elm:'radio',nm:'lin' | + | {id:'resmark_radio_lin_4',elm:'radio',nm:'lin'}, |
− | {id:'resmark_radio_lin_5',elm:'radio',nm:'lin' | + | {id:'resmark_radio_lin_5',elm:'radio',nm:'lin'}, |
− | {id:'resmark_outp_nom',elm:'text' | + | {id:'resmark_outp_nom',elm:'text'}, |
− | {id:'resmark_outp_dop',elm:'text' | + | {id:'resmark_outp_dop',elm:'text'} |
); | ); | ||
var tags = { | var tags = { | ||
Строка 29: | Строка 57: | ||
var newElm = document.createElement(elmTag); | var newElm = document.createElement(elmTag); | ||
+ | if(ids[i]['checked']) newElm.setAttribute('checked', ids[i]['checked']); | ||
if(ids[i].onclick) newElm.setAttribute('onclick', ids[i].onclick); | if(ids[i].onclick) newElm.setAttribute('onclick', ids[i].onclick); | ||
if(ids[i].nm) newElm.setAttribute('name', ids[i].nm); | if(ids[i].nm) newElm.setAttribute('name', ids[i].nm); | ||
Строка 36: | Строка 65: | ||
resmark_replDiv(newElm, old); | resmark_replDiv(newElm, old); | ||
} | } | ||
+ | |||
+ | resmark_resetTable() | ||
} | } | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
function resmark_elmRes_click() | function resmark_elmRes_click() | ||
{ | { | ||
resmark_hideMsg(0); | resmark_hideMsg(0); | ||
+ | resmark_elem = 'res'; | ||
} | } | ||
function resmark_elmCap_click() | function resmark_elmCap_click() | ||
{ | { | ||
resmark_hideMsg(1); | resmark_hideMsg(1); | ||
+ | resmark_elem = 'cap'; | ||
} | } | ||
function resmark_elmInd_click() | function resmark_elmInd_click() | ||
{ | { | ||
resmark_hideMsg(0); | resmark_hideMsg(0); | ||
+ | resmark_elem = 'ind'; | ||
} | } | ||
function resmark_hideMsg(hide) | function resmark_hideMsg(hide) | ||
Строка 60: | Строка 90: | ||
var e = document.getElementById('resmark_outp_note'); | var e = document.getElementById('resmark_outp_note'); | ||
e.innerHTML = (hide) ? '<b>Примечание:</b> Для цветовой кодировки постоянных конденсаторов на практике используется несколько методик. Здесь представлена одна из них.' : ''; | e.innerHTML = (hide) ? '<b>Примечание:</b> Для цветовой кодировки постоянных конденсаторов на практике используется несколько методик. Здесь представлена одна из них.' : ''; | ||
+ | } | ||
+ | |||
+ | function resmark_replDiv(newElm, div) | ||
+ | { | ||
+ | div.parentNode.replaceChild(newElm, div); | ||
+ | } | ||
+ | |||
+ | function resmark_resetTable() | ||
+ | { | ||
+ | for(i = 0; i < resmark_colors.length; i++) | ||
+ | { | ||
+ | |||
+ | } | ||
} | } | ||
//</source> | //</source> |
Версия 00:10, 3 октября 2007
//<source lang="javascript"> //- Resmark.js ------------------------------------------------------ addOnloadHook(do_resmark_init); var resmark_cols = 3; var resmark_elem = 'res'; var resmark_col_pref = "resmark_tbl_l"; var resmark_col_suf = "_"; var resmark_colors = new Array( {f:"white",s:"w"}, {f:"gray",s:"gr"}, {f:"violet",s:"v"}, {f:"blue",s:"b"}, {f:"green",s:"g"}, {f:"yellow",s:"y"}, {f:"orange",s:"o"}, {f:"red",s:"r"}, {f:"brown",s:"br"}, {f:"black",s:"bl"}, {f:"goldenrod",s:"au"}, {f:"gainsboro",s:"ag"} ); var resmark_data = { res: { 3: { 1:{da:{bl:1,au:1,ag:1},e:{w:'9',gr:'8',v:'7',b:'6',g:'5','y':'4',o:'3',r:'2',br:'1'}}, 2:{da:{au:1,ag:1},e:{w:'9',gr:'8',v:'7',b:'6',g:'5','y':'4',o:'3',r:'2',br:'1',bl:'0'}}, 3:{da:{},e:{w:'*1000000000',gr:'*100000000',v:'*10000000',b:'*1000000',g:'*100000','y':'*10000',o:'*1000',r:'*100',br:'*10',bl:'*1',au:'*0.1',ag:'*0.01'}} } } }; function do_resmark_init() { if(document.getElementById('resmark')) { // resmark block exist var ids = new Array( {id:'resmark_radio_elm_res',elm:'radio',nm:'elm',onclick:"resmark_elmRes_click()",'checked':1}, {id:'resmark_radio_elm_cap',elm:'radio',nm:'elm',onclick:"resmark_elmCap_click()"}, {id:'resmark_radio_elm_ind',elm:'radio',nm:'elm',onclick:"resmark_elmInd_click()"}, {id:'resmark_radio_lin_3',elm:'radio',nm:'lin','checked':1}, {id:'resmark_radio_lin_4',elm:'radio',nm:'lin'}, {id:'resmark_radio_lin_5',elm:'radio',nm:'lin'}, {id:'resmark_outp_nom',elm:'text'}, {id:'resmark_outp_dop',elm:'text'} ); var tags = { radio: {t:'input',tp:'radio'}, 'text': {t:'input',tp:'text'} } for(i = 0; i < ids.length; i++) { var old = document.getElementById(ids[i].id); var elmTag = tags[ids[i].elm].t; var newElm = document.createElement(elmTag); if(ids[i]['checked']) newElm.setAttribute('checked', ids[i]['checked']); if(ids[i].onclick) newElm.setAttribute('onclick', ids[i].onclick); if(ids[i].nm) newElm.setAttribute('name', ids[i].nm); if(tags[ids[i].elm].t) newElm.setAttribute('type', tags[ids[i].elm].tp); newElm.setAttribute('id', old.id); resmark_replDiv(newElm, old); } resmark_resetTable() } } function resmark_elmRes_click() { resmark_hideMsg(0); resmark_elem = 'res'; } function resmark_elmCap_click() { resmark_hideMsg(1); resmark_elem = 'cap'; } function resmark_elmInd_click() { resmark_hideMsg(0); resmark_elem = 'ind'; } function resmark_hideMsg(hide) { var e = document.getElementById('resmark_outp_note'); e.innerHTML = (hide) ? '<b>Примечание:</b> Для цветовой кодировки постоянных конденсаторов на практике используется несколько методик. Здесь представлена одна из них.' : ''; } function resmark_replDiv(newElm, div) { div.parentNode.replaceChild(newElm, div); } function resmark_resetTable() { for(i = 0; i < resmark_colors.length; i++) { } } //</source>