Tycoon Talk
Become a Big fish!
The number 1 forum for online business!
Post topics, ask questions, share your knowledge.
Tycoon Talk is part of Freelancer.com - find skilled workers online at a fraction of the cost.

JavaScript Forum


You are currently viewing our JavaScript Forum as a guest. Please register to participate.
Login



Reply
how to set a floater to start once pixel X is reached?
Old 11-14-2005, 08:41 AM how to set a floater to start once pixel X is reached?
sallam's Avatar
Average Talker

Posts: 23
Trades: 0
Hi
I want to use this script to display a floating message that follows page scrolling, but I need it to start only when the user scrolls down to a specific potion of the page. The reason is that I have banner ads at top, occupying all the area above the fold, so I want this area clear, and the floating message (its a message for guests to register in my forum) to show starting from after that.

What code should I add to do so please?

Here is the script that I'm using:
HTML Code:
<style type="text/css">

#topbar{
position:absolute;
border: 1px solid black;
padding: 2px;
background-color: lightyellow;
width: 620px;
visibility: hidden;
z-index: 100;
}

</style>

<script type="text/javascript">

/***********************************************
* Floating Top Bar script- © Dynamic Drive (www.dynamicdrive.com)
* Sliding routine by Roy Whittle (http://www.javascript-fx.com/)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var persistclose=0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = 80 //set x offset of bar in pixels
var startY = 50 //set y offset of bar in pixels
var verticalpos="frombottom" //enter "fromtop" or "frombottom"

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}

function staticbar(){
	barheight=document.getElementById("topbar").offsetHeight
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	var d = document;
	function ml(id){
		var el=d.getElementById(id);
		if (!persistclose || persistclose && get_cookie("remainclosed")=="")
		el.style.visibility="visible"
		if(d.layers)el.style=el;
		el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
		el.x = startX;
		if (verticalpos=="fromtop")
		el.y = startY;
		else{
		el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
		el.y -= startY;
		}
		return el;
	}
	window.stayTopLeft=function(){
		if (verticalpos=="fromtop"){
		var pY = ns ? pageYOffset : iecompattest().scrollTop;
		ftlObj.y += (pY + startY - ftlObj.y)/8;
		}
		else{
		var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
		ftlObj.y += (pY - startY - ftlObj.y)/8;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 10);
	}
	ftlObj = ml("topbar");
	stayTopLeft();
}

if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>

<div id="topbar">
<a href="" onClick="closebar(); return false"></a>
Your content here.
</div>
__________________

Please login or register to view this content. Registration is FREE
sallam is offline
Reply With Quote
View Public Profile
 
 
Register now for full access!
Old 11-14-2005, 10:47 AM
pipers dragon's Avatar
Extreme Talker

Posts: 190
Trades: 0
this is a complete alternate to the attempt, but maybe put it in two sperate pages, and frame them, then you can have the bottom scroll and still allow the advertisement banners to show...
pipers dragon is offline
Reply With Quote
View Public Profile
 
Old 11-14-2005, 10:55 AM
sallam's Avatar
Average Talker

Posts: 23
Trades: 0
Thanks, but I don't want to use frames.
Isn't there an event or something to use as a condition upon which the floating box starts to show up?
__________________

Please login or register to view this content. Registration is FREE

Last edited by sallam; 11-14-2005 at 10:59 AM..
sallam is offline
Reply With Quote
View Public Profile
 
Reply     « Reply to how to set a floater to start once pixel X is reached?
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off





   
RSS Feed  Feeds: RSS   JS   XML
RSS Feed  Feeds for this forum: RSS   JS   XML



Page generated in 0.28977 seconds with 12 queries