Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Marquee library with private functions" />
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  
  <div id="marquee-me">Yo Wassssup!</div>
  
</body>
</html>
 
(function(wndw) {
  var MarqueeModule = function() {
    
    var _private = {
      moveItMoveIt: function() {
        var currentLeft = parseInt(this.elem.style.left, 10);
        if (currentLeft > window.innerWidth) {
          this.direction = 'backwards';
        } else if (currentLeft < 0) {
          this.direction = 'forwards';
        }
        
        if (this.direction == 'forwards') {
          newLeft = (currentLeft + 10);
        } else {
          newLeft = (currentLeft - 10);
        }
        this.elem.style.left = newLeft + 'px';
      }
    };
    
    var Marquee = function(elem) {
      this.elem = elem;
      
      this.elem.style.position = 'relative';
      this.elem.style.left = '0px';
      this.direction = 'forwards';
      
      var self = this;
      this.moveTimer = window.setInterval(function() {_private.moveItMoveIt.call(self);}, 50);
    };
    
    Marquee.prototype.stop = function() {
      window.clearInterval(this.moveTimer);
    };
    
    return Marquee;
  };
  
  window.Marquee = MarqueeModule();
    
})(window);
   
var marquee = new Marquee(document.getElementById("marquee-me"));
window.setTimeout(function() { marquee.stop(); }, 5000);
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
pamelafoxpro
0viewers