Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

sam's first commit

  • Loading branch information...
commit 955f9af5e8c94fc6cf6938025add3fe59fc041a1 0 parents
Sam Rosen authored
1  .gitignore
@@ -0,0 +1 @@
+.DS_Store
0  README
No changes.
BIN  images/bg.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  images/map.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 index.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="UTF-8">
+ <title>Sam Rosen</title>
+ <link rel="stylesheet" href="style/reset.css" type="text/css" media="screen" charset="utf-8" />
+ <link rel="stylesheet" href="style/style.css" type="text/css" media="screen" charset="utf-8" />
+
+</head>
+<body>
+ <div id="content"></div>
+ <div id="toolbar">
+ <div class="main">
+ <h1><a href='#'>sam rosen</a></h1>
+ <div class="nav">
+ <a href="#" class="who">who</a>
+ <a href="#" class="what">what</a>
+ <a href="#" class="where">where</a>
+ <a href="#" class="with">with</a>
+ </div>
+ </div>
+
+ <div id='hidden_bar'>
+ <div class="headline">
+ <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+
+ <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui -- <a href='#'>Follow Me</a></p>
+ </div>
+
+ <div class="nav">
+ <p><a href="#" class="who">who</a></p>
+ <p><a href="#" class="what">what</a></p>
+ <p><a href="#" class="where">where</a></p>
+ <p><a href="#" class="with">with</a></p>
+ </div>
+ </div>
+ </div>
+
+ <script src="scripts/jquery-1.3.2.js" type="text/javascript" charset="utf-8"></script>
+ <script src="scripts/jquery.hoverIntent.js" type="text/javascript" charset="utf-8"></script>
+
+ <script src="scripts/script.js" type="text/javascript" charset="utf-8"></script>
+</body>
+</html>
4,376 scripts/jquery-1.3.2.js
4,376 additions, 0 deletions not shown
111 scripts/jquery.hoverIntent.js
@@ -0,0 +1,111 @@
+/**
+* hoverIntent is similar to jQuery's built-in "hover" function except that
+* instead of firing the onMouseOver event immediately, hoverIntent checks
+* to see if the user's mouse has slowed down (beneath the sensitivity
+* threshold) before firing the onMouseOver event.
+*
+* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
+* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
+*
+* hoverIntent is currently available for use in all personal or commercial
+* projects under both MIT and GPL licenses. This means that you can choose
+* the license that best suits your project, and use it accordingly.
+*
+* // basic usage (just like .hover) receives onMouseOver and onMouseOut functions
+* $("ul li").hoverIntent( showNav , hideNav );
+*
+* // advanced usage receives configuration object only
+* $("ul li").hoverIntent({
+* sensitivity: 7, // number = sensitivity threshold (must be 1 or higher)
+* interval: 100, // number = milliseconds of polling interval
+* over: showNav, // function = onMouseOver callback (required)
+* timeout: 0, // number = milliseconds delay before onMouseOut function call
+* out: hideNav // function = onMouseOut callback (required)
+* });
+*
+* @param f onMouseOver function || An object with configuration options
+* @param g onMouseOut function || Nothing (use configuration options object)
+* @author Brian Cherne <brian@cherne.net>
+*/
+(function($) {
+ $.fn.hoverIntent = function(f,g) {
+ // default configuration options
+ var cfg = {
+ sensitivity: 7,
+ interval: 100,
+ timeout: 0
+ };
+ // override configuration options with user supplied object
+ cfg = $.extend(cfg, g ? { over: f, out: g } : f );
+
+ // instantiate variables
+ // cX, cY = current X and Y position of mouse, updated by mousemove event
+ // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
+ var cX, cY, pX, pY;
+
+ // A private function for getting mouse position
+ var track = function(ev) {
+ cX = ev.pageX;
+ cY = ev.pageY;
+ };
+
+ // A private function for comparing current and previous mouse position
+ var compare = function(ev,ob) {
+ ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
+ // compare mouse positions to see if they've crossed the threshold
+ if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
+ $(ob).unbind("mousemove",track);
+ // set hoverIntent state to true (so mouseOut can be called)
+ ob.hoverIntent_s = 1;
+ return cfg.over.apply(ob,[ev]);
+ } else {
+ // set previous coordinates for next time
+ pX = cX; pY = cY;
+ // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
+ ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );
+ }
+ };
+
+ // A private function for delaying the mouseOut function
+ var delay = function(ev,ob) {
+ ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
+ ob.hoverIntent_s = 0;
+ return cfg.out.apply(ob,[ev]);
+ };
+
+ // A private function for handling mouse 'hovering'
+ var handleHover = function(e) {
+ // next three lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut
+ var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
+ while ( p && p != this ) { try { p = p.parentNode; } catch(e) { p = this; } }
+ if ( p == this ) { return false; }
+
+ // copy objects to be passed into t (required for event object to be passed in IE)
+ var ev = jQuery.extend({},e);
+ var ob = this;
+
+ // cancel hoverIntent timer if it exists
+ if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }
+
+ // else e.type == "onmouseover"
+ if (e.type == "mouseover") {
+ // set "previous" X and Y position based on initial entry point
+ pX = ev.pageX; pY = ev.pageY;
+ // update "current" X and Y position based on mousemove
+ $(ob).bind("mousemove",track);
+ // start polling interval (self-calling timeout) to compare mouse coordinates over time
+ if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}
+
+ // else e.type == "onmouseout"
+ } else {
+ // unbind expensive mousemove event
+ $(ob).unbind("mousemove",track);
+ // if hoverIntent state is true, then call the mouseOut function after the specified delay
+ if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
+ }
+ };
+
+ // bind the function to the two event listeners
+ return this.mouseover(handleHover).mouseout(handleHover);
+ };
+})(jQuery);
13 scripts/script.js
@@ -0,0 +1,13 @@
+$(document).ready(function(){
+ $("#hidden_bar").hide();
+ hiConfig = {
+ sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
+ interval: 0, // number = milliseconds for onMouseOver polling interval
+ timeout: 400, // number = milliseconds delay before onMouseOut
+ over: function() {
+ $("#hidden_bar").slideDown();
+ }, // function = onMouseOver callback (REQUIRED)
+ out: function() { $("#hidden_bar").slideUp(); } // function = onMouseOut callback (REQUIRED)
+ }
+ $('#toolbar').hoverIntent(hiConfig)
+});
46 style/reset.css
@@ -0,0 +1,46 @@
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, font, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ font-weight: inherit;
+ font-style: inherit;
+ font-size: 100%;
+ font-family: inherit;
+ vertical-align: baseline;
+}
+/* remember to define focus styles! */
+:focus {
+ outline: 0;
+}
+body {
+ line-height: 1;
+ color: black;
+ background: white;
+}
+ol, ul {
+ list-style: none;
+}
+/* tables still need 'cellspacing="0"' in the markup */
+table {
+ border-collapse: separate;
+ border-spacing: 0;
+}
+caption, th, td {
+ text-align: left;
+ font-weight: normal;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: "";
+}
+blockquote, q {
+ quotes: "" "";
+}
54 style/style.css
@@ -0,0 +1,54 @@
+html {
+}
+body {
+ position:relative;
+ background-image: url(../images/map.jpg);
+}
+#toolbar {
+ position:absolute;
+ top:80px;
+ width:100%;
+ color:#fff;
+ font-family: Helvetica, Verdana, Arial, sans-serif;
+ font-size: 18px;
+ min-width:780px;
+}
+#toolbar .main {
+ padding:18px 0;
+ overflow:hidden;
+ background-color: black;
+ opacity: 0.70;
+}
+#toolbar a {
+ text-decoration:none;
+ border-bottom:1px solid #fff;
+ padding-bottom:1px;
+ color:#fff;
+}
+#toolbar h1 {
+ float:left;
+ margin-left:18px;
+}
+#toolbar h1 a {border:none;}
+#toolbar .nav {
+ margin-right:18px;
+}
+#toolbar .nav .who, #toolbar .nav .what, #toolbar .nav .where, #toolbar .nav .with {position:absolute;}
+#toolbar .nav .who {right:204px;}
+#toolbar .nav .what {right:142px;}
+#toolbar .nav .where {right:72px;}
+#toolbar .nav .with {right:22px;}
+#hidden_bar {
+ overflow:hidden;
+ clear:both;
+ padding:18px 0;
+ background:#000;
+ opacity:0.85;
+}
+#hidden_bar .headline {
+ float:left;
+ margin-left:18px;
+ width:530px;
+ font-size:14px;
+}
+#hidden_bar .nav {font-size:12px;}
Please sign in to comment.
Something went wrong with that request. Please try again.