jQuery addClass example

Change class name on click in jQuery

by SHELDON PASCIAK

HTML

must be HTTPS
<BR>
<div id="banner-message">
  <p> G P S </p>
  <button>GPS</button>
</div>

<div id="here">

</div>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#banner-message {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  font-size: 25px;
  text-align: center;
  transition: all 0.2s;
  margin: 0 auto;
  width: 300px;
}

button {
  background: #0084ff;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;
}

#banner-message.alt {
  background: #0084ff;
  color: #fff;
  margin-top: 40px;
  width: 200px;
}

#banner-message.alt button {
  background: #fff;
  color: #000;
}

JavaScript

// find elements
var banner = $("#banner-message")
var button = $("button")

// handle click and add class
button.on("click", function() {
  banner.addClass("alt");
  updateGPS();
})

function geoSuccess(position) {
  localStorage.setItem("gps_lat", position.coords.latitude);
  localStorage.setItem("gps_long", position.coords.longitude);
  localStorage.setItem("gps_accuracy", position.coords.accuracy);
  localStorage.setItem("gps_speed", position.coords.speed);
  $('#here').append("my location : " + localStorage.getItem("gps_lat") + "," + localStorage.getItem("gps_long"));
}

function geoFailure() {
  localStorage.setItem("gps_lat", 0);
  localStorage.setItem("gps_long", 0);
  localStorage.setItem("gps_accuracy", 0);
  localStorage.setItem("gps_speed", 0);
}

function updateGPS() {
  navigator.geolocation.watchPosition(geoSuccess, geoFailure, {
    maximumAge: 0,
    enableHighAccuracy: true
  });
}

updateGPS();