Skip to content

Instantly share code, notes, and snippets.

@oliverlundquist
Created June 9, 2016 06:48
Show Gist options
  • Save oliverlundquist/547630e924882fb76a138f6f1db77db2 to your computer and use it in GitHub Desktop.
Save oliverlundquist/547630e924882fb76a138f6f1db77db2 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>.letter { position: absolute; font-size: 15px; }</style>
</head>
<body>
<div class="letter">k</div>
<div class="letter">u</div>
<div class="letter">r</div>
<div class="letter">a</div>
<div class="letter">s</div>
<div class="letter">h</div>
<div class="letter">i</div>
<div class="letter">c</div>
<div class="letter">o</div>
<div class="letter">m</div>
<script src="app/bower_components/rxjs/dist/rx.all.js"></script>
<script>
Rx.Observable.fromEvent(document, 'click')
.map(function () {
return 0;
})
.subscribe(function (value) {
var letters = document.querySelectorAll('.letter');
for(var i = 0; i < letters.length; i++) {
letters[i].style.top = value;
}
});
(function () {
var letters = document.querySelectorAll('.letter');
for(var i = 0; i < letters.length; i++) {
(function (i) {
Rx.Observable.fromEvent(document, 'mousemove')
.throttle(5)
.map(function (event) {
return { x: event.clientX, y: event.clientY }
})
.delay(i * 100)
.subscribe(function (values) {
letters[i].style.top = values.y + 'px';
letters[i].style.left = values.x + (i * 10) + 10 + 'px';
});
})(i);
}
})();
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment