vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.6 Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=192)
-   -   Forum Home Enhancements - Floating Top Bar script [register] (https://vborg.vbsupport.ru/showthread.php?t=158750)

Sulaiti 09-24-2007 10:00 PM

Floating Top Bar script [register]
 
Description: This script displays a floating bar that sits at the top of the window, gliding gently back into view when the page is scrolled. Regular HTML content can be shown inside of it. And to make the bar less intrusive, once it is closed (by clicking on the "x"), the bar can be set to dismiss for the entire duration of the browser session, by using cookies. Reloading the page won't bring it back. Sites like About.com use something similar to display important tidbits of information.

Step 1: Add the following code into the Template: headinclude :

below
<!-- / CSS Stylesheet -->

PHP Code:

<if condition="$show['registerbutton']">
<
style type="text/css">
#topbar{
position:absolute;
border1px solid black;
padding2px;
background-colorlightyellow;
width620px;
visibilityhidden;
z-index100;
}
</
style>
<
script type="text/javascript">
var 
persistclose=//set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX 30 //set x offset of bar in pixels
var startY //set y offset of bar in pixels
var verticalpos="fromtop" //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 == -1end document.cookie.length;
returnvalue=unescape(document.cookie.substring(offsetend))
}
}
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 
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.startX;
  if (
verticalpos=="fromtop")
  
el.startY;
  else{
  
el.ns pageYOffset innerHeight iecompattest().scrollTop iecompattest().clientHeight;
  
el.-= startY;
  }
  return 
el;
 }
 
window.stayTopLeft=function(){
  if (
verticalpos=="fromtop"){
  var 
pY ns pageYOffset iecompattest().scrollTop;
  
ftlObj.+= (pY startY ftlObj.y)/8;
  }
  else{
  var 
pY ns pageYOffset innerHeight barheightiecompattest().scrollTop iecompattest().clientHeight barheight;
  
ftlObj.+= (pY startY ftlObj.y)/8;
  }
  
ftlObj.sP(ftlObj.xftlObj.y);
  
setTimeout("stayTopLeft()"10);
 }
 
ftlObj ml("topbar");
 
stayTopLeft();
}
if (
window.addEventListener)
window.addEventListener("load"staticbarfalse)
else if (
window.attachEvent)
window.attachEvent("onload"staticbar)
else if (
document.getElementById)
window.onload=staticbar
</script>
</if> 

Step 2: Insert the following code in the Template: navbar :

below
<!-- / PAGENAV POPUP -->
</if>

PHP Code:

<if condition="$show['registerbutton']">
<
div id="topbar">
<
a href="" onClick="closebar(); return false"><img src="close.gif" border="0" /></a>
<
a href="register.php$session[sessionurl_q]rel="nofollow">$vbphrase[register]</a>
</
div>
</if> 

Step 3: Finally, this script uses an image to close the bar:

Done!

Please make sure you click INSTALL if you like it.

nonamer69 09-26-2007 01:10 PM

thanks. do you have a screenshot or demo site where we can see it in action.

yoyoyoyo 09-26-2007 01:45 PM

here is a screenshot:

http://img258.imageshack.us/img258/3676/errorld3.jpg

Lizard King 09-26-2007 04:01 PM

It is not a really good approach to add all these lines to headinclude template. You can easily create a js file and call it via headinclude template and use the css within additional css.

yoyoyoyo 09-26-2007 07:15 PM

After I install a modification I always go to view it in as many types of browsers as possible, to make sure that it is compliant with each of them. When I went to view my site in MSN Explorer I was shocked to see that the floating top bar is actually see-through:

http://img233.imageshack.us/img233/7770/errorpk2.jpg

I think that the CSS needs a bit of work in order to make it more cross-browser compliant/friendly.

Shaheen 10-06-2007 08:14 AM

Thanks Dude

Sulaiti 10-30-2007 04:54 PM

Quote:

Originally Posted by Lizard King (Post 1347599)
It is not a really good approach to add all these lines to headinclude template. You can easily create a js file and call it via headinclude template and use the css within additional css.



I agree, soon I will upgrade it to be more elastic

Chance4Today 11-05-2007 05:09 PM

The X shows up for everyone but me LOL I just took it out got tired of seeing it float around but a good idea ;)

nectons 11-12-2007 11:59 PM

why you posting even withoute testing ? :S ..

ReQueM 11-18-2007 02:38 PM

thanks ;)
click install


All times are GMT. The time now is 11:51 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01146 seconds
  • Memory Usage 1,780KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete