First we made a div box:
<div id="floatdiv" style=" position:absolute; width:200px;height:50px;left:0px;top:0px; padding:16px;background:#FFFFFF; border:2px solid #2266AA"> !!CONENT HERE!! </div>
Then after the div box code:
<script type="text/javascript"><!-- var floatingMenuId = 'floatdiv'; var floatingMenu = { targetX: -250, targetY: 10, hasInner: typeof(window.innerWidth) == 'number', hasElement: document.documentElement && document.documentElement.clientWidth, menu: document.getElementById ? document.getElementById(floatingMenuId) : document.all ? document.all[floatingMenuId] : document.layers[floatingMenuId] }; floatingMenu.move = function () { if (document.layers) { floatingMenu.menu.left = floatingMenu.nextX; floatingMenu.menu.top = floatingMenu.nextY; } else { floatingMenu.menu.style.left = floatingMenu.nextX + 'px'; floatingMenu.menu.style.top = floatingMenu.nextY + 'px'; } } floatingMenu.computeShifts = function () { var de = document.documentElement; floatingMenu.shiftX = floatingMenu.hasInner ? pageXOffset : floatingMenu.hasElement ? de.scrollLeft : document.body.scrollLeft; if (floatingMenu.targetX < 0) { if (floatingMenu.hasElement && floatingMenu.hasInner) { // Handle Opera 8 problems floatingMenu.shiftX += de.clientWidth > window.innerWidth ? window.innerWidth : de.clientWidth } else { floatingMenu.shiftX += floatingMenu.hasElement ? de.clientWidth : floatingMenu.hasInner ? window.innerWidth : document.body.clientWidth; } } floatingMenu.shiftY = floatingMenu.hasInner ? pageYOffset : floatingMenu.hasElement ? de.scrollTop : document.body.scrollTop; if (floatingMenu.targetY < 0) { if (floatingMenu.hasElement && floatingMenu.hasInner) { // Handle Opera 8 problems floatingMenu.shiftY += de.clientHeight > window.innerHeight ? window.innerHeight : de.clientHeight } else { floatingMenu.shiftY += floatingMenu.hasElement ? document.documentElement.clientHeight : floatingMenu.hasInner ? window.innerHeight : document.body.clientHeight; } } } floatingMenu.doFloat = function() { var stepX, stepY; floatingMenu.computeShifts(); stepX = (floatingMenu.shiftX + floatingMenu.targetX - floatingMenu.nextX) * .07; if (Math.abs(stepX) < .5) { stepX = floatingMenu.shiftX + floatingMenu.targetX - floatingMenu.nextX; } stepY = (floatingMenu.shiftY + floatingMenu.targetY - floatingMenu.nextY) * .07; if (Math.abs(stepY) < .5) { stepY = floatingMenu.shiftY + floatingMenu.targetY - floatingMenu.nextY; } if (Math.abs(stepX) > 0 || Math.abs(stepY) > 0) { floatingMenu.nextX += stepX; floatingMenu.nextY += stepY; floatingMenu.move(); } setTimeout('floatingMenu.doFloat()', 20); }; // addEvent designed by Aaron Moore floatingMenu.addEvent = function(element, listener, handler) { if(typeof element[listener] != 'function' || typeof element[listener + '_num'] == 'undefined') { element[listener + '_num'] = 0; if (typeof element[listener] == 'function') { element[listener + 0] = element[listener]; element[listener + '_num']++; } element[listener] = function(e) { var r = true; e = (e) ? e : window.event; for(var i = element[listener + '_num'] -1; i >= 0; i--) { if(element[listener + i](e) == false) r = false; } return r; } } //if handler is not already stored, assign it for(var i = 0; i < element[listener + '_num']; i++) if(element[listener + i] == handler) return; element[listener + element[listener + '_num']] = handler; element[listener + '_num']++; }; floatingMenu.init = function() { floatingMenu.initSecondary(); floatingMenu.doFloat(); }; // Some browsers init scrollbars only after // full document load. floatingMenu.initSecondary = function() { floatingMenu.computeShifts(); floatingMenu.nextX = floatingMenu.shiftX + floatingMenu.targetX; floatingMenu.nextY = floatingMenu.shiftY + floatingMenu.targetY; floatingMenu.move(); } if (document.layers) floatingMenu.addEvent(window, 'onload', floatingMenu.init); else { floatingMenu.init(); floatingMenu.addEvent(window, 'onload', floatingMenu.initSecondary); } //--></script>
No comments:
Post a Comment