Advanced Search

Results 1 to 4 of 4

Thread: Javascript Information Bar Problem

  1. #1
    Join Date
    Oct 2012
    Posts
    130
    Thanks
    15
    Thanked 1 Time in 1 Post

    Default Javascript Information Bar Problem

    I found exactly what I needed, but... when I set it to be shown once per browser session, it still keeps popping up like it is set on "always". Setting it to infobar.setfrequency('session') at the end of the script should show it once per session. ( http://www.javascriptkit.com/script/.../infobar.shtml )

    Do you know what the problem might be?

    Code:
    
    <style type="text/css">
    
    #informationbar{
    position: fixed;
    left: 0;
    width: 100%;
    text-indent: 5px;
    padding: 5px 0;
    background-color: lightyellow;
    border-bottom: 1px solid black;
    font: bold 12px Verdana;
    }
    
    * html #informationbar{ /*IE6 hack*/
    position: absolute;
    width: expression(document.compatMode=="CSS1Compat"? document.documentElement.clientWidth+"px" : body.clientWidth+"px");
    }
    
    </style>
    
    <script type="text/javascript">
    
    /***********************************************
    
    * Animated Information Bar- by JavaScript Kit (www.javascriptkit.com)
    * This notice must stay intact for usage
    * Visit JavaScript Kit at http://www.javascriptkit.com/ for this script and 100s more
    
    ***********************************************/
    
    function informationbar(){
    	this.displayfreq="always"
    	this.content='<a href="javascript:informationbar.close()"><img src="close.gif" style="width: 14px; height: 14px; float: right; border: 0; margin-right: 5px" /></a>'
    }
    
    informationbar.prototype.setContent=function(data){
    	this.content=this.content+data
    	document.write('<div id="informationbar" style="top: -500px">'+this.content+'</div>')
    }
    
    informationbar.prototype.animatetoview=function(){
    	var barinstance=this
    	if (parseInt(this.barref.style.top)<0){
    		this.barref.style.top=parseInt(this.barref.style.top)+5+"px"
    		setTimeout(function(){barinstance.animatetoview()}, 50)
    	}
    	else{
    		if (document.all && !window.XMLHttpRequest)
    		this.barref.style.setExpression("top", 'document.compatMode=="CSS1Compat"? document.documentElement.scrollTop+"px" : body.scrollTop+"px"')
    	else
    		this.barref.style.top=0
    	}
    }
    
    informationbar.close=function(){
    	document.getElementById("informationbar").style.display="none"
    	if (this.displayfreq=="session")
    		document.cookie="infobarshown=1;path=/"
    }
    
    informationbar.prototype.setfrequency=function(type){
    	this.displayfreq=type
    }
    
    informationbar.prototype.initialize=function(){
    	if (this.displayfreq=="session" && document.cookie.indexOf("infobarshown")==-1 || this.displayfreq=="always"){
    		this.barref=document.getElementById("informationbar")
    		this.barheight=parseInt(this.barref.offsetHeight)
    		this.barref.style.top=this.barheight*(-1)+"px"
    		this.animatetoview()
    	}
    }
    
    window.onunload=function(){
    	this.barref=null
    }
    
    </script>
    
    
    <script type="text/javascript">
    <!--Invocation code-->
    
    var infobar=new informationbar()
    infobar.setContent('Welcome to JavaScript Kit! It appears you are not registered yet on our site. Why wait? <a href="#">Register here</a>')
    infobar.setfrequency('session')
    infobar.initialize()
    
    </script>

  2. #2
    Join Date
    Jul 2008
    Location
    Derbyshire, UK
    Posts
    1,886
    Thanks
    16
    Thanked 288 Times in 287 Posts
    Blog Entries
    4

    Default

    Not without a link to your page.

    also, what browser are you using? And does the demo page work ok for you?
    Focus on Function Web Design | Latest News RSS | Facebook | Twitter |
    Fast Edit (A flat file, PHP web page editor & CMS. Small, FREE, no database!) | Fast Edit BE (Snippet Manager) (Web content editor for multiple editable regions!) | Fast Apps |
    The only limit to creativity is imagination: JemCon.org

  3. #3
    Join Date
    Dec 2008
    Location
    Portsmouth, UK
    Posts
    1,707
    Thanks
    2
    Thanked 388 Times in 383 Posts

    Default

    I just tested this using FF and it works for me

    but you must click the close link in the info bar to activate the cookie

    this modification will set the cookie as soon as it opens

    Code:
    informationbar.prototype.initialize=function(){
    	if (this.displayfreq=="session" && document.cookie.indexOf("infobarshown")==-1 || this.displayfreq=="always"){
    		this.barref=document.getElementById("informationbar")
    		this.barheight=parseInt(this.barref.offsetHeight)
    		this.barref.style.top=this.barheight*(-1)+"px"
    		this.animatetoview();
    	if (this.displayfreq=="session")
    		document.cookie="infobarshown=1;path=/"
    	}
    }
    Vic
    God Loves You and will never love you less.
    http://www.vicsjavascripts.org/Home.htm
    If my post has been useful please donate to http://www.operationsmile.org.uk/

  4. The Following User Says Thank You to vwphillips For This Useful Post:

    qwikad.com (02-15-2013)

  5. #4
    Join Date
    Oct 2012
    Posts
    130
    Thanks
    15
    Thanked 1 Time in 1 Post

    Default

    vwphillips - that has solved it. Thank you.

Similar Threads

  1. Replies: 0
    Last Post: 07-22-2010, 07:44 AM
  2. Saving user information to XML document using javascript
    By vijaypawar2007 in forum JavaScript
    Replies: 5
    Last Post: 09-05-2008, 09:19 PM
  3. Information form problem
    By DragginGlass in forum HTML
    Replies: 2
    Last Post: 03-20-2008, 03:17 AM
  4. Sp2 information bar
    By lovingboy16 in forum Other
    Replies: 1
    Last Post: 03-18-2005, 05:14 PM
  5. Xp SP2 information bar
    By ihopeitlands in forum JavaScript
    Replies: 2
    Last Post: 10-12-2004, 02:20 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •