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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
Строка 9: Строка 9:
 
{ // resmark block exist
 
{ // resmark block exist
 
var ids = new Array(
 
var ids = new Array(
  {id:'resmark_radio_elm_res',elm:'radio',nm:'elm'},
+
{id:'resmark_radio_elm_res',elm:'radio',nm:'elm',onclick:"resmark_elmRes_click()"},
  {id:'resmark_radio_elm_cap',elm:'radio',nm:'elm'},
+
  {id:'resmark_radio_elm_cap',elm:'radio',nm:'elm',onclick:"resmark_elmCap_click()"},
{id:'resmark_radio_elm_ind',elm:'radio',nm:'elm'},
+
{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',onclick:""},
{id:'resmark_radio_lin_4',elm:'radio',nm:'lin'},
+
{id:'resmark_radio_lin_4',elm:'radio',nm:'lin',onclick:""},
{id:'resmark_radio_lin_5',elm:'radio',nm:'lin'},
+
{id:'resmark_radio_lin_5',elm:'radio',nm:'lin',onclick:""},
{id:'resmark_outp_nom',elm:'text',nm:''},
+
{id:'resmark_outp_nom',elm:'text',nm:'',onclick:"" },
{id:'resmark_outp_dop',elm:'text',nm:''}
+
{id:'resmark_outp_dop',elm:'text',nm:'',onclick:""}
 
);
 
);
 
var tags = {
 
var tags = {
Строка 28: Строка 28:
 
var elmTag = tags[ids[i].elm].t;
 
var elmTag = tags[ids[i].elm].t;
 
var newElm = document.createElement(elmTag);
 
var newElm = document.createElement(elmTag);
+
 
 +
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);
 
if(tags[ids[i].elm].t) newElm.setAttribute('type', tags[ids[i].elm].tp);
 
if(tags[ids[i].elm].t) newElm.setAttribute('type', tags[ids[i].elm].tp);
Строка 41: Строка 42:
 
{
 
{
 
div.parentNode.replaceChild(newElm, div);
 
div.parentNode.replaceChild(newElm, div);
 +
}
 +
 +
function resmark_elmRes_click()
 +
{
 +
resmark_hideMsg(0);
 +
}
 +
function resmark_elmCap_click()
 +
{
 +
resmark_hideMsg(1);
 +
}
 +
function resmark_elmInd_click()
 +
{
 +
resmark_hideMsg(0);
 +
}
 +
function resmark_hideMsg(hide)
 +
{
 +
var e = document.getElementById('resmark_outp_note');
 +
e.nodeValue = (hide) ? '<b>Примечание:</b> Для цветовой кодировки постоянных конденсаторов на практике используется несколько методик. Здесь представлена одна из них.' : '';
 
}
 
}
 
//</source>
 
//</source>

Версия 23:28, 2 октября 2007

//<source lang="javascript">
//- Resmark.js ------------------------------------------------------

addOnloadHook(do_resmark_init);

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()"},
	  			{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',onclick:""},
				{id:'resmark_radio_lin_4',elm:'radio',nm:'lin',onclick:""},
				{id:'resmark_radio_lin_5',elm:'radio',nm:'lin',onclick:""},
				{id:'resmark_outp_nom',elm:'text',nm:'',onclick:"" },
				{id:'resmark_outp_dop',elm:'text',nm:'',onclick:""}
			);
		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].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);
		}
	}
}

function resmark_replDiv(newElm, div)
{
	div.parentNode.replaceChild(newElm, div);
}

function resmark_elmRes_click()
{
	resmark_hideMsg(0);
}
function resmark_elmCap_click()
{
	resmark_hideMsg(1);
}
function resmark_elmInd_click()
{
	resmark_hideMsg(0);
}
function resmark_hideMsg(hide)
{
	var e = document.getElementById('resmark_outp_note');
	e.nodeValue = (hide) ? '<b>Примечание:</b> Для цветовой кодировки постоянных конденсаторов на практике используется несколько методик. Здесь представлена одна из них.' : '';
}
//</source>