  
<div id="snippet_105" class="snippet">
  <h2><a href="/snippets/105-Show-and-Hide-toggle-the-Blueprint-Grid-with-a-JavaScript" title="Show and Hide (toggle) the Blueprint Grid with a JavaScript - JavaScript - blueprint, css, blueprintcss, toggle, grid, javascript">Show and Hide (toggle) the Blueprint Grid with a JavaScript</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/61-JavaScript">
      JavaScript</a> posted over 2 years ago by christian
          
  </div>

  <div class="body">
    <p>This snippet-<del>which could be improved on</del>-allows you to easily display and hide the <a href="http://code.google.com/p/blueprintcss/">BlueprintCSS</a> grid.</p>


	<p>Put the following code inside the &lt;head&gt; element:
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">&lt;</span>style title<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>grid<span class="String">&quot;</span></span> type<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>text/css<span class="String">&quot;</span></span><span class="Operator">&gt;</span>
<span class="line-numbers">   2 </span> 		.container { }
<span class="line-numbers">   3 </span> <span class="Operator">&lt;</span>/style<span class="Operator">&gt;</span>
<span class="line-numbers">   4 </span> <span class="Operator">&lt;</span>script type<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>text/javascript<span class="String">&quot;</span></span><span class="Operator">&gt;</span>
<span class="line-numbers">   5 </span> 	<span class="Storage">function</span> <span class="FunctionName">toggleGrid</span>() {
<span class="line-numbers">   6 </span> 		<span class="Keyword">if</span> (<span class="Operator">!</span><span class="LibraryClassType">document</span>.<span class="NamedConstant">styleSheets</span>) <span class="Keyword">return</span>;
<span class="line-numbers">   7 </span> 	
<span class="line-numbers">   8 </span> 		<span class="Storage">var</span> cssTitle  	 <span class="Operator">=</span> <span class="String"><span class="String">&quot;</span>grid<span class="String">&quot;</span></span>
<span class="line-numbers">   9 </span> 		<span class="Storage">var</span> selectorName <span class="Operator">=</span> <span class="String"><span class="String">&quot;</span>.container<span class="String">&quot;</span></span>;
<span class="line-numbers">  10 </span> 		<span class="Storage">var</span> cssText   	 <span class="Operator">=</span> <span class="String"><span class="String">&quot;</span>background: url('images/grid.png');<span class="String">&quot;</span></span>;
<span class="line-numbers">  11 </span> 		<span class="Storage">var</span> css <span class="Operator">=</span> <span class="Operator">new</span> <span class="TypeName">Array</span>();
<span class="line-numbers">  12 </span> 	
<span class="line-numbers">  13 </span> 		<span class="LineComment"><span class="LineComment">//</span> Find the stylesheet</span>
<span class="line-numbers">  14 </span> 		<span class="Keyword">for</span>(i <span class="Operator">=</span> <span class="Number">0</span>; i <span class="Operator">&lt;</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">styleSheets</span>.<span class="NamedConstant">length</span>; i<span class="Operator">++</span>)
<span class="line-numbers">  15 </span> 		{
<span class="line-numbers">  16 </span> 			<span class="Storage">var</span> styleSheet <span class="Operator">=</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">styleSheets</span>[i];
<span class="line-numbers">  17 </span> 			
<span class="line-numbers">  18 </span> 			<span class="Keyword">if</span>(styleSheet.<span class="NamedConstant">title</span> <span class="Operator">==</span> cssTitle) {
<span class="line-numbers">  19 </span> 				<span class="Keyword">if</span> (<span class="LibraryClassType">document</span>.<span class="NamedConstant">styleSheets</span>[i].cssRules)
<span class="line-numbers">  20 </span> 					css <span class="Operator">=</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">styleSheets</span>[i].cssRules;
<span class="line-numbers">  21 </span> 				<span class="Keyword">else</span> <span class="Keyword">if</span> (<span class="LibraryClassType">document</span>.<span class="NamedConstant">styleSheets</span>[i].<span class="NamedConstant">rules</span>)
<span class="line-numbers">  22 </span> 					css <span class="Operator">=</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">styleSheets</span>[i].<span class="NamedConstant">rules</span>;
<span class="line-numbers">  23 </span> 				<span class="Keyword">else</span> <span class="Keyword">return</span>;
<span class="line-numbers">  24 </span> 				
<span class="line-numbers">  25 </span> 				<span class="Keyword">break</span>;
<span class="line-numbers">  26 </span> 			}
<span class="line-numbers">  27 </span> 		}
<span class="line-numbers">  28 </span> 
<span class="line-numbers">  29 </span> 		<span class="LineComment"><span class="LineComment">//</span> Find the selector</span>
<span class="line-numbers">  30 </span> 		<span class="Keyword">for</span> (i <span class="Operator">=</span> <span class="Number">0</span>; i <span class="Operator">&lt;</span> css.<span class="NamedConstant">length</span>; i<span class="Operator">++</span>) {
<span class="line-numbers">  31 </span> 		
<span class="line-numbers">  32 </span> 			<span class="Keyword">if</span> ((css[i].selectorText.<span class="CommandMethod">toLowerCase</span>() <span class="Operator">==</span> selectorName)) {
<span class="line-numbers">  33 </span> 				<span class="Keyword">if</span>(css[i].<span class="NamedConstant">style</span>.cssText <span class="Operator">==</span> <span class="String"><span class="String">&quot;</span><span class="String">&quot;</span></span>) {
<span class="line-numbers">  34 </span> 					css[i].<span class="NamedConstant">style</span>.cssText <span class="Operator">=</span> cssText;
<span class="line-numbers">  35 </span> 				}
<span class="line-numbers">  36 </span> 				<span class="Keyword">else</span> {
<span class="line-numbers">  37 </span> 					css[i].<span class="NamedConstant">style</span>.cssText <span class="Operator">=</span> <span class="String"><span class="String">&quot;</span><span class="String">&quot;</span></span>;
<span class="line-numbers">  38 </span> 				}
<span class="line-numbers">  39 </span> 			}
<span class="line-numbers">  40 </span> 		}
<span class="line-numbers">  41 </span> 	}
<span class="line-numbers">  42 </span> <span class="Operator">&lt;</span>/script<span class="Operator">&gt;</span>
</pre></p>


	<p>Change selectorName or cssText, if needed. Next add the following link, for example, to the footer:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">&lt;</span>a href<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>javascript:toggleGrid();<span class="String">&quot;</span></span> id<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>toggle-grid<span class="String">&quot;</span></span><span class="Operator">&gt;</span>Show grid<span class="Operator">&lt;</span>/a<span class="Operator">&gt;</span>
</pre></p>


	<p>Now when you click the link, the grid will be displayed. Click again to hide it.</p>


	<p>Note that this is a simple example of how to change a  CSS  style sheet dynamically with JavaScript. You can use it to change any selector at runtime.</p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/267-blueprint">blueprint</a>, <a href="/tags/11-css">css</a>, <a href="/tags/268-blueprintcss">blueprintcss</a>, <a href="/tags/269-toggle">toggle</a>, <a href="/tags/270-grid">grid</a>, <a href="/tags/10-javascript">javascript</a>
    
    
  </div>
</div>






