Note that there are some explanatory texts on larger screens.

plurals
  1. POJquery show hide multiple divs with Toggle & change price with ParseFloat (improve newbie code)
    primarykey
    data
    text
    <p>This is my first attempt at JQuery and I've probably gone about this with way too much code.</p> <p>I have 2 links that Toggle hide multiple divs and also alter the pricing above...</p> <p>Essentially I think I've probably done this in an extremely inefficient and naive way - any help on how to make my code better would be great.</p> <pre><code>$(document).ready(function() { $('.partner-info').hide(); $('.children-info').hide(); $('#partner-cross').hide(); $('#children-cross').hide(); $('.add-partner').click(function(){ if ( $('.partner-info').css('display') == 'block' ) { $('.partner-info').toggle(); $('#partner-cross').toggle(); $('#add-partner').text("add partner"); $('#partner-li').toggleClass('selected'); $('#Lvl01').html(parseFloat(parseFloat($('#Lvl01').html())-10.00).toFixed(2)); $('#Lvl02').html(parseFloat(parseFloat($('#Lvl02').html())-18.00).toFixed(2)); } else { $('.partner-info').toggle(); $('#partner-cross').toggle(); $('#add-partner').text("for your partner"); $('#partner-li').toggleClass('selected'); $('#Lvl01').html(parseFloat(parseFloat($('#Lvl01').html())+10.00).toFixed(2)); $('#Lvl02').html(parseFloat(parseFloat($('#Lvl02').html())+18.00).toFixed(2)); } }); $('.add-children').click(function(){ if ( $('.children-info').css('display') == 'block' ) { $('.children-info').toggle(); $('#children-cross').toggle(); $('#add-children').text("add children"); $('#children-li').toggleClass('selected'); $('#Lvl01').html(parseFloat(parseFloat($('#Lvl01').html())-0.50).toFixed(2)); $('#Lvl02').html(parseFloat(parseFloat($('#Lvl02').html())-0.50).toFixed(2)); } else { $('.children-info').toggle(); $('#children-cross').toggle(); $('#add-children').text("for your children"); $('#children-li').toggleClass('selected'); $('#Lvl01').html(parseFloat(parseFloat($('#Lvl01').html())+0.50).toFixed(2)); $('#Lvl02').html(parseFloat(parseFloat($('#Lvl02').html())+0.50).toFixed(2)); } }); }); &lt;table class="edutable"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class="first"&gt;&lt;strong&gt;Plan level&lt;/strong&gt;&lt;/td&gt; &lt;td class="second"&gt;&lt;/td&gt; &lt;td class="third"&gt;1&lt;/td&gt; &lt;td class="fourth"&gt;2&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="first"&gt;&lt;strong&gt;Monthly price&lt;/strong&gt;&lt;/td&gt; &lt;td&gt;&lt;/td&gt; &lt;td class="monthly-prices"&gt;&lt;strong&gt;&amp;pound;&lt;span id="Lvl01"&gt;10.00&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt; &lt;td class="monthly-prices"&gt;&lt;strong&gt;&amp;pound;&lt;span id="Lvl02"&gt;18.00&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="first"&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="4" class="tabs"&gt; &lt;div class="tabsinner"&gt; &lt;div class="benefits"&gt;Benefits:&lt;/div&gt; &lt;ul&gt; &lt;li class="selected"&gt;&lt;span&gt;for you&lt;/span&gt;&lt;/li&gt; &lt;li id="partner-li"&gt;&lt;span&gt;&lt;a href="#" id="add-partner" class="add-partner"&gt;add partner&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; &lt;li id="partner-cross"&gt;&lt;a href="#" id="cross-p" class="add-partner"&gt;&lt;img src="images/cross.gif" /&gt;&lt;/a&gt;&lt;/li&gt; &lt;li id="children-li"&gt;&lt;span&gt;&lt;a href="#" id="add-children" class="add-children"&gt;add children&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; &lt;li id="children-cross"&gt;&lt;a href="#" id="cross-c" class="add-children"&gt;&lt;img src="images/cross.gif" /&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;div class="clear"&gt;&lt;/div&gt; &lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="4" class="heading"&gt;Essential Cover &lt;span&gt;(1 year benefit period)&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class="first"&gt;&lt;strong&gt;Dental&lt;/strong&gt;&lt;/td&gt; &lt;td class="second"&gt; &lt;div class="you"&gt;Just for you&lt;/div&gt; &lt;div class="partner-info"&gt;Partner&lt;/div&gt; &lt;div class="children-info"&gt;Dependent Children&lt;/div&gt;&lt;/td&gt; &lt;td&gt; &lt;div class="you"&gt;&lt;span class="small"&gt;up to &lt;/span&gt;&lt;strong&gt;&amp;pound;65&lt;/strong&gt;&lt;/div&gt; &lt;div class="partner-info"&gt;&lt;span class="small"&gt;up to &lt;/span&gt;&lt;strong&gt;&amp;pound;65&lt;/strong&gt;&lt;/div&gt; &lt;div class="children-info"&gt;&lt;span class="small"&gt;up to &lt;/span&gt;&lt;strong&gt;&amp;pound;65&lt;/strong&gt;&lt;/div&gt;&lt;/td&gt; &lt;td&gt; &lt;div class="you"&gt;&lt;span class="small"&gt;up to &lt;/span&gt;&lt;strong&gt;&amp;pound;120&lt;/strong&gt;&lt;/div&gt; &lt;div class="partner-info"&gt;&lt;span class="small"&gt;up to &lt;/span&gt;&lt;strong&gt;&amp;pound;120&lt;/strong&gt;&lt;/div&gt; &lt;div class="children-info"&gt;&lt;span class="small"&gt;up to &lt;/span&gt;&lt;strong&gt;&amp;pound;120&lt;/strong&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; </code></pre> <p>To see the HTML &amp; CSS here is a link to jsFiddle <a href="http://jsfiddle.net/superhanzzz/mVByn/" rel="nofollow">http://jsfiddle.net/superhanzzz/mVByn/</a></p> <p>Thanks</p> <p>Westy</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload