iona_portfolio

Three-page portfolio website (https://zypz33.xyz/art/iona)
Log | Files | Refs

script.js (2319B)


      1 function artView(evt) {
      2 	evt.currentTarget.onclick = function() { artReturn(event) };
      3 	evt.currentTarget.getElementsByTagName('img')[0].className = "view-full";
      4 	evt.currentTarget.getElementsByTagName('p')[0].className = "";
      5 	var images = evt.currentTarget.parentElement.children;
      6 	for (var i=0;i<images.length;i++) {
      7 		if (images[i] != evt.currentTarget) {
      8 			images[i].className = "hidden";
      9 		}
     10 	}
     11 }
     12 function artReturn(evt) {
     13 	evt.currentTarget.onclick = function() { artView(event) };
     14 	evt.currentTarget.getElementsByTagName('img')[0].className = "view-small";
     15 	evt.currentTarget.getElementsByTagName('p')[0].className = "hidden";
     16 	var images = evt.currentTarget.parentElement.children;
     17 	for (var i=0;i<images.length;i++) {
     18 		if (images[i] != evt.currentTarget) {
     19 			images[i].className = "art-image";
     20 			/*console.log(images[i].src);*/
     21 		}
     22 	}
     23 }
     24 
     25 function setDefaultParam(target) {
     26 	var url = location.pathname;
     27 	var params=new URLSearchParams(window.location.search);
     28 	params.delete('default');
     29 	params.append('default', target)
     30 	window.history.pushState('N', 'N', url+'?'+params)
     31 }
     32 
     33 function unfocusImage() {
     34 	var image = document.getElementsByClassName('view-full')[0];
     35 	if (image) {
     36 		image.parentElement.click();
     37 	}
     38 }
     39 
     40 function openTab(evt, target, useHistory=true, unfocus=true) {
     41 	var tabcontent,tablinks;
     42 
     43 	if (useHistory == true) { setDefaultParam(target); }
     44 	if (unfocus == true) { unfocusImage(); }
     45 
     46 	tabcontent=document.getElementsByClassName("tabcontent");
     47 	for (var i=0;i<tabcontent.length;i++){
     48 		tabcontent[i].style.display="none";
     49 	}
     50 
     51 	tablinks=document.getElementsByClassName("nav-item");
     52 	for (var i=0;i<tablinks.length;i++){
     53 		tablinks[i].className="nav-item";
     54 	}
     55 
     56 	document.getElementById(target).style.display = "grid";
     57 	if (evt != null) {
     58 		if (typeof evt == "string") {
     59 			document.getElementById("nav-item-"+evt).className += " nav-item-active";
     60 		} else {
     61 			evt.currentTarget.className+=" nav-item-active";
     62 		}
     63 	}
     64 }
     65 
     66 var defaultTab;
     67 function loadDefault() {
     68 	defaultTab=new URLSearchParams(window.location.search).get('default');
     69 	if (!(['about','animals','people','sketches'].includes(defaultTab))){defaultTab='about';}
     70 	openTab(defaultTab, defaultTab, false, false);
     71 	/*document.getElementById("nav-item-".concat(defaultTab)).click();*/
     72 }
     73 window.onpopstate = loadDefault;
     74 loadDefault();