From: <lph...@us...> - 2011-10-19 15:19:18
|
Revision: 38385 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=38385&view=rev Author: lphuberdeau Date: 2011-10-19 15:19:12 +0000 (Wed, 19 Oct 2011) Log Message: ----------- [ENH] Use more jquery to reduce the function length and split the function to have re-usable components Modified Paths: -------------- trunk/lib/tiki-js.js Modified: trunk/lib/tiki-js.js =================================================================== --- trunk/lib/tiki-js.js 2011-10-19 14:33:41 UTC (rev 38384) +++ trunk/lib/tiki-js.js 2011-10-19 15:19:12 UTC (rev 38385) @@ -47,33 +47,44 @@ if (!zeromargin) { zeromargin = ''; } if (!id) { id = ''; } if (!maincol) { maincol = 'col1'; } - if (document.getElementById(id).style.display == "none") { - document.getElementById(id).style.display = "block"; - if (zeromargin == 'left') { - document.getElementById(maincol).style.marginLeft = ''; - if (!document.getElementById(maincol).style.marginLeft) { - document.getElementById(maincol).style.marginLeft = $("#"+id).width() + "px"; - } - setSessionVar(showit,'y'); - } else { - document.getElementById(maincol).style.marginRight = ''; - if (!document.getElementById(maincol).style.marginRight) { - document.getElementById(maincol).style.marginRight = $("#"+id).width() + "px"; - } - setSessionVar(showit,'y'); + var $id = $('#' + id), $maincol = $('#' + maincol); + if (! $id.is(':visible')) { + showCol(id, zeromargin, maincol); + setSessionVar(showit,'y'); + } else { + hideCol(id, zeromargin, maincol); + setSessionVar(showit,'n'); + } +} + +function showCol(id, zeromargin, maincol) { + var $id = $('#' + id), $maincol = $('#' + maincol); + + $id.show(); + if (zeromargin == 'left') { + $maincol.css('margin-left', ''); + if (! $maincol.css('margin-left')) { + $maincol.css('margin-left', $id.width()); } } else { - document.getElementById(id).style.display = "none"; - if (zeromargin == 'left') { - document.getElementById(maincol).style.marginLeft = '0'; - setSessionVar(showit,'n'); - } else { - document.getElementById(maincol).style.marginRight = '0'; - setSessionVar(showit,'n'); + $maincol.css('margin-right', ''); + if (! $maincol.css('margin-right')) { + $maincol.css('margin-right', $id.width()); } } } +function hideCol(id, zeromargin, maincol) { + var $id = $('#' + id), $maincol = $('#' + maincol); + + $id.hide(); + if (zeromargin == 'left') { + $maincol.css('margin-left', 0); + } else { + $maincol.css('margin-right', 0); + } +} + function toggle_dynamic_var(name) { var name1 = 'dyn_'+name+'_display'; var name2 = 'dyn_'+name+'_edit'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |