Difference between revisions of "MediaWiki:Common.js"

From Interaction Station Wiki
Jump to navigation Jump to search
Line 110: Line 110:
 
         setTimeout(type, 200);
 
         setTimeout(type, 200);
 
       }());
 
       }());
 +
}

Revision as of 12:59, 27 January 2022

/* Any JavaScript here will be loaded for all users on every page load. */

// Make the TOC draggable:

dragElement(document.getElementById("lessons"));
dragElement(document.getElementById("terminal"));

function dragElement(elmnt) {
  var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;
  if (document.getElementById(elmnt.id + "header")) {
    // if present, the header is where you move the DIV from:
    document.getElementById(elmnt.id + "header").onmousedown = dragMouseDown;
  } else {
    // otherwise, move the DIV from anywhere inside the DIV:
    elmnt.onmousedown = dragMouseDown;
  }

  function dragMouseDown(e) {
    e = e || window.event;
    e.preventDefault();
    // get the mouse cursor position at startup:
    pos3 = e.clientX;
    pos4 = e.clientY;
    document.onmouseup = closeDragElement;
    // call a function whenever the cursor moves:
    document.onmousemove = elementDrag;
  }

  function elementDrag(e) {
    e = e || window.event;
    e.preventDefault();
    // calculate the new cursor position:
    pos1 = pos3 - e.clientX;
    pos2 = pos4 - e.clientY;
    pos3 = e.clientX;
    pos4 = e.clientY;
    // set the element's new position:
    elmnt.style.top = (elmnt.offsetTop - pos2) + "px";
    elmnt.style.left = (elmnt.offsetLeft - pos1) + "px";
  }

  function closeDragElement() {
    // stop moving when mouse button is released:
    document.onmouseup = null;
    document.onmousemove = null;
  }
}

// TERMINAL ON FRONT PAGE

function HideTerminal() {
const Terminal = document.querySelector('#Terminal');
  Terminal.style.display = Terminal.style.display === 'block' ? 'none' : 'block';
}

//TYPEWRITER 

   //terminalIntro

var typeString = ['programming;', 'electronics;', 'augmented and virtual reality;', 'real-time 3d;', 'machine learning and AI;'];
      var  i = 0;
      var count = 0
      var selectedText = '';
      var text = '';
      (function type() {
        if (count == typeString.length) {
          count = 0;
        }
        selectedText = typeString[count];
        text = selectedText.slice(0, ++i);
        document.getElementById('terminalIntro').innerHTML = text;
        if (text.length === selectedText.length) {
          count++;
          i = 0;
        }
        setTimeout(type, 180);
      }());

      function sleep(milliseconds) {
        var start = new Date().getTime();
        for (var i = 0; i < 1e7; i++) {
          if ((new Date().getTime() - start) > milliseconds){
            break;
          }
        }
      }

//terminalCore

var typeString2 = ['We take an open and experimental approach to digital crafts, acknowledging that the definition of interaction is constantly shifting. We like to experiment with new tools, technologies and hardware, taking a critical eye to developing technologies and seeing how they can be appropriated for creative uses. We’re equally interested in how older technologies can be re-evaluated in contemporary contexts.

Most importantly when we think of interaction, it is not only between people and machines, but interaction between people. 

The instructors in the Interaction Station come from a variety of backgrounds, with diverse sets of expertise. We’re here to help you develop your ideas into working projects providing individual consultation, station skills and lessons.

We provide the space to experiment and build your projects, with a number of workspaces available to students.'];
      var  i = 0;
      var count = 0
      var selectedText2 = '';
      var text2 = '';
      
(function type() {
        if (count == typeString2.length) {
          count = 0;
        }
        selectedText2 = typeString2[count];
        text2 = selectedText2.slice(0, ++i);
        document.getElementById('terminalCore').innerHTML = text2;
        
        setTimeout(type, 200);
      }());
}