Note that there are some explanatory texts on larger screens.

plurals
  1. POJavascript - How can I extend this script to incorporate another class change?
    primarykey
    data
    text
    <p>I have a piece of code that allows ajax to run once clicked. Once the div has been clicked, not only does the ajax run, but the div changes class from 'statusOption' to 'statusOptionActive'.</p> <p>It's all looking and working well so far, but I've hit a wall. I need to add in a 3rd div that also has it's class changed once clicked. You can see my new div also in the code:</p> <p>My current working JavaScript for the 2 divs:</p> <pre><code>&lt;script&gt; window.onload = function () { var basics = document.getElementById('basics'), photos = document.getElementById('photos'); basics.onclick = function() { loadXMLDoc('indexBasics'); var otherClasses = photos.className; if (otherClasses.contains("Active")) { basics.className = 'statusOptionActive'; photos.className = 'statusOption'; } } photos.onclick = function() { loadXMLDoc('indexPhotos'); var otherClasses = basics.className; if (otherClasses.contains("Active")) { photos.className = 'statusOptionActive'; basics.className = 'statusOption'; } } function loadXMLDoc(pageName) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState==4 &amp;&amp; xmlhttp.status==200) { document.getElementById("centreCont").innerHTML=xmlhttp.responseText; } } function get_query() { var url = location.href; var qs = url.substring(url.indexOf('?') + 1).split('&amp;'); for(var i = 0, result = {}; i &lt; qs.length; i++){ qs[i] = qs[i].split('='); result[qs[i][0]] = decodeURIComponent(qs[i][1]); } return result; } xmlhttp.open("GET","../profile/" + pageName + ".php?user=" + get_query()['user'],true); xmlhttp.send(); } } &lt;/script&gt; </code></pre> <p>And here are the divs I use, where the classes change once clicked and ajax is active. The last div is the one that also needs adding to the script:</p> <pre><code>&lt;div id="basics" class="statusOptionActive" onclick="loadXMLDoc('indexBasics')"&gt;Basics&lt;/div&gt; &lt;div id="photos" class="statusOption" onclick="loadXMLDoc('indexPhotos')"&gt;Photos&lt;/div&gt; &lt;div id="favorites" class="statusOption" onclick="loadXMLDoc('indexFav')"&gt;Message User&lt;/div&gt; </code></pre> <p>////////////I've tried to get it working myself with no luck. Here's my code////////</p> <pre><code>&lt;script&gt; window.onload = function () { var basics = document.getElementById('basics'), photos = document.getElementById('photos'), messages = document.getElementById('messages'); basics.onclick = function() { loadXMLDoc('indexBasics'); var otherClasses = ('photos.className', 'messages.className'); if (otherClasses.contains("Active")) { basics.className = 'statusOptionActive'; photos.className = 'statusOption'; messages.className = 'statusOption'; } } photos.onclick = function() { loadXMLDoc('indexPhotos'); var otherClasses = ('basics.className', 'messages.className'); if (otherClasses.contains("Active")) { photos.className = 'statusOptionActive'; basics.className = 'statusOption'; messages.className = 'statusOption'; } } messages.onclick = function() { loadXMLDoc('indexMessages'); var otherClasses = ('basics.className', 'photos.className'); if (otherClasses.contains("Active")) { photos.className = 'statusOption'; basics.className = 'statusOption'; messages.className = 'statusOptionActive'; } } function loadXMLDoc(pageName) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 &amp;&amp; xmlhttp.status==200) { document.getElementById("centreCont").innerHTML=xmlhttp.responseText; } } function get_query(){ var url = location.href; var qs = url.substring(url.indexOf('?') + 1).split('&amp;'); for(var i = 0, result = {}; i &lt; qs.length; i++){ qs[i] = qs[i].split('='); result[qs[i][0]] = decodeURIComponent(qs[i][1]); } return result; } xmlhttp.open("GET","../profile/" + pageName + ".php?user=" + get_query()['user'],true); xmlhttp.send(); } } &lt;/script&gt; </code></pre>
    singulars
    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.
 

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