MediaWiki:Resmark.js — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
Строка 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',onclick:""},
+
{id:'resmark_radio_lin_3',elm:'radio',nm:'lin','checked':1},
{id:'resmark_radio_lin_4',elm:'radio',nm:'lin',onclick:""},
+
{id:'resmark_radio_lin_4',elm:'radio',nm:'lin'},
{id:'resmark_radio_lin_5',elm:'radio',nm:'lin',onclick:""},
+
{id:'resmark_radio_lin_5',elm:'radio',nm:'lin'},
{id:'resmark_outp_nom',elm:'text',nm:'',onclick:"" },
+
{id:'resmark_outp_nom',elm:'text'},
{id:'resmark_outp_dop',elm:'text',nm:'',onclick:""}
+
{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_replDiv(newElm, div)
 
{
 
div.parentNode.replaceChild(newElm, div);
 
}
 
  
 
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>