Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Header links problem???

Posted on 2007-04-11
9
Medium Priority
?
130 Views
Last Modified: 2010-04-25
I have a header with a nav bar in it. It has links which are images that swap according to which page yo uare on.

The problem is that when i click o the links, it goes to the page but doesnt reflect the current swap image.

Is this because you cannot  do this in a header include??????

0
Comment
Question by:judsonmusic
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
9 Comments
 
LVL 3

Author Comment

by:judsonmusic
ID: 18889851
Apparently the header is refreshing everytime a page loads. Is there a way to check the current page and display the appropriate link accordingly???

Thanks
0
 
LVL 36

Expert Comment

by:SidFishes
ID: 18889959
it may be caching... you could force a reload

<cfheader name="Expires" value="#GetHttpTimeString(Now())#">
0
 
LVL 3

Author Comment

by:judsonmusic
ID: 18890013
I dont get it.
0
Quick Start: DOCKER

Sometimes you just need a Quick Start on a topic in order to begin using it.. this is just what you need to know to get up and running with Docker!

 
LVL 3

Author Comment

by:judsonmusic
ID: 18890036
I have the images(links) set to show a "HOT" version on the curent page. The problem is that because the navbar is and include, it doesnt see the current page. Is there a way around this without using frames?


Thanks

Judson
0
 
LVL 36

Expert Comment

by:SidFishes
ID: 18891235
"navbar is an include, it doesnt see the current page"

that doesn't make sense... if it is an include it -is- part of the "current page" only in a frame would the "header" be different from the body

please post some code showing how you are setting the image state
0
 
LVL 3

Author Comment

by:judsonmusic
ID: 18891327
HERE IS THE CODE BELOW. WHAT WOULD BE THE MOST EFFECIENT WAY TO USE THIS SO IF A PAGE USES A CFLOCATION to go back, it would reflect the current page location and show the current state of the correct button?????


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
      margin-left: 0px;
      margin-top: 0px;
      margin-right: 0px;
      margin-bottom: 0px;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
function showdrop()
{
var nstyle= 'vis'
var thediv = 'SUB1'
identity=document.getElementById(thediv);
identity.className=nstyle;
}
function nodrop()
{
var nstyle= 'novis'
var thediv = 'SUB1'
identity=document.getElementById(thediv);
identity.className=nstyle;
}
function showdrop2()
{
var nstyle= 'vis'
var thediv = 'SUB2'
identity=document.getElementById(thediv);
identity.className=nstyle;
}
function nodrop2()
{
var nstyle= 'novis'
var thediv = 'SUB2'
identity=document.getElementById(thediv);
identity.className=nstyle;
}
function showdrop3()
{
var nstyle= 'vis'
var thediv = 'SUB3'
identity=document.getElementById(thediv);
identity.className=nstyle;
}
function nodrop3()
{
var nstyle= 'novis'
var thediv = 'SUB3'
identity=document.getElementById(thediv);
identity.className=nstyle;
}
function showdrop4()
{
var nstyle= 'vis'
var thediv = 'SUB4'
identity=document.getElementById(thediv);
identity.className=nstyle;
}
function nodrop4()
{
var nstyle= 'novis'
var thediv = 'SUB4'
identity=document.getElementById(thediv);
identity.className=nstyle;
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}
//-->
</script>
<link href="../CSS/styles.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
a:link {
      color: #FFFFFF;
      text-decoration: none;
}
a:visited {
      color: #FFFFFF;
      text-decoration: none;
}
a:hover {
      color: #CCCCCC;
      text-decoration: none;
}
a:active {
      color: #FFFF66;
      text-decoration: none;
}
-->
</style></head>

<body onload="MM_preloadImages('../../images/btn_dash_cold.gif','../../images/btn_DESKTOP_cold.gif','../../images/btn_desktop_over.gif','../../images/btn_desktop_HOT.gif','../../images/btn_MS_HOT.gif','../../images/btn_MS_over.gif','../../images/btn_DASHBOARDr_HOT.gif','../../images/btn_DASH_over.gif','../../images/btn_resources_HOT.gif','../../images/btn_RESOURCES_over.gif')">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
  <tr>
    <td valign="top" background="../../images/BANNER_SPACER.gif"><img src="../../images/BANNER_HG_LOGO.gif" width="508" height="72" /><br />
      <a href="desktop.cfm" target="mainFrame" onclick="MM_nbGroup('down','group1','btnDESKTOPcold','../../images/btn_desktop_HOT.gif',1);showdrop(); nodrop2(); nodrop3(); nodrop4()" onmouseover="MM_nbGroup('over','btnDESKTOPcold','../../images/btn_desktop_over.gif','../../images/btn_desktop_HOT.gif',1)" onmouseout="MM_nbGroup('out')"><img src="../../images/btn_desktop_HOT.gif" name="btnDESKTOPcold" border="0" onload="MM_nbGroup('init','group1','btnDESKTOPcold','../../images/btn_DESKTOP_cold.gif',1)" /></a><a href="Members.cfm" target="mainFrame" onclick="MM_nbGroup('down','group1','btnMScold','../../images/btn_MS_HOT.gif',1);showdrop2(); nodrop(); nodrop3(); nodrop4()" onmouseover="MM_nbGroup('over','btnMScold','../../images/btn_MS_over.gif','../../images/btn_MS_HOT.gif',1)" onmouseout="MM_nbGroup('out')"><img src="../../images/btn_MS_cold.gif" name="btnMScold" border="0" /></a><a href="profile_frames.cfm?membno=<cfoutput>#session.membno#</cfoutput>" target="mainFrame" onclick="MM_nbGroup('down','group1','btnDASHBOARDrcold','../../images/btn_DASHBOARDr_HOT.gif',1);showdrop3(); nodrop(); nodrop2(); nodrop4()" onmouseover="MM_nbGroup('over','btnDASHBOARDrcold','../../images/btn_DASH_over.gif','../../images/btn_DASHBOARDr_HOT.gif',1)" onmouseout="MM_nbGroup('out')"><img src="../../images/btn_DASHBOARDr_cold.gif" name="btnDASHBOARDrcold" width="101" height="23" border="0" /></a><a href="resources.cfm" target="mainFrame" onclick="MM_nbGroup('down','group1','btnresourcescold','../../images/btn_resources_HOT.gif',1);MM_nbGroup('down','group1','btnresourcescold','../../images/btn_resources_HOT.gif',1);MM_nbGroup('down','group1','btnresourcescold','../../images/btn_resources_HOT.gif',1);showdrop4(); nodrop2(); nodrop3(); nodrop()" onmouseover="MM_nbGroup('over','btnresourcescold','../../images/btn_RESOURCES_over.gif','../../images/btn_resources_HOT.gif',1)" onmouseout="MM_nbGroup('out')"><img src="../../images/btn_resources_cold.gif" name="btnresourcescold" width="207" height="23" border="0" /></a></td>
    <td width="100%" align="right" valign="top" nowrap="nowrap" background="../../images/BANNER_SPACER.gif"><img src="../../images/BANNER_BP_METER_links_r1_c3.gif" width="357" height="95" /></td>
  </tr>
  <tr>
    <td height="22" valign="middle" background="../../images/sublinks_BG.gif">
      
            <div id="SUB1" class="vis"><!--<a href="#">SUBLINK1</a>&nbsp;|&nbsp;<a href="#">SUBLINK1</a>&nbsp;|&nbsp;<a href="#">SUBLINK1</a>&nbsp;|&nbsp;<a href="#">SUBLINK1</a>&nbsp;|&nbsp;<a href="#">SUBLINK1</a>&nbsp;|&nbsp;<a href="#">SUBLINK1</a> --></div>
            
              <div id="SUB2" class="novis"><!--<a href="#">SUBLINK2</a>&nbsp;|&nbsp;<a href="#">SUBLINK2</a>&nbsp;|&nbsp;<a href="#">SUBLINK2</a>&nbsp;|&nbsp;<a href="#">SUBLINK2</a>&nbsp;|&nbsp;<a href="#">SUBLINK2</a>&nbsp;|&nbsp;<a href="#">SUBLINK2</a> --></div>
            
            <div id="SUB3" class="novis"><a href="#">Encounters</a>&nbsp;|&nbsp;<a href="#">Claims</a>&nbsp;|&nbsp;<a href="#">Prescriptions</a>&nbsp;|&nbsp;<a href="#">Screenings</a></div>
            
            <div id="SUB4" class="novis"><!--<a href="#">SUBLINK1</a>&nbsp;|&nbsp;<a href="#">SUBLINK4</a>&nbsp;|&nbsp;<a href="#">SUBLINK4</a>&nbsp;|&nbsp;<a href="#">SUBLINK4</a>&nbsp;|&nbsp;<a href="#">SUBLINK4</a>&nbsp;|&nbsp;<a href="#">SUBLINK4</a> --></div>
            
            </td>
    <td height="22" align="right" valign="top" nowrap="nowrap" background="../../images/sublinks_BG.gif"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
</table>
</body>
</html>
0
 
LVL 36

Expert Comment

by:SidFishes
ID: 18891544
man I hate dreamweaver code...

i don't actually see any logic which is looking to see if someone has logged in or not


basically (without trying to decipher that dw mess) the concept is as follows

on any page where you want to check logged in state you would set a local variable and then set up up cfif or cfswitch logic and place display code in each

on your login form you'd add

<cfif login eq OK> (or however you determine a good login)
<cflock type="exclusive" scope="session" timeout="30">
<cfset session.LogState eq true>
</cflock>

<cflocation...wherever>

then your header code would contain

<cfparam name="vLogState" default ="false">
<!--- set variable state for none logged in  --->

<cflock type="readonly" scope="session" timeout="30">
<cfset vLogState = session.LogState>
<!--- session.logstate is set on your login processing page --->
</cflock>


<cfif vLogState eq true>
your logged-in navbar code and images
<cfelse>
Your public code and images
</cfif>
0
 
LVL 3

Author Comment

by:judsonmusic
ID: 18891683
Actually, to make this easier, how can i make the current page effect which image diplays in the navbar???
0
 
LVL 36

Accepted Solution

by:
SidFishes earned 2000 total points
ID: 18892021
this code does that...

<cfif vLogState eq true>
your logged-in navbar code and images
<cfelse>
Your public code and images
</cfif>

there's probably some js stuff you could use as well but you'd still need to evaluate some kind of cf variable passed from the login page so really there's no need...just makes things more complicated.

0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hi, I will be creating today a basic tutorial on how we can create a Mail Custom Function and use it where ever we want. The main advantage about creating a custom function is that we can accommodate a range of arguments to pass to the Function and …
CFGRID Custom Functionality Series -  Part 1 Hi Guys, I was once asked how it is possible to to add a hyperlink in the cfgrid and open the window to show the data. Now this is quite simple, I have to use the EXT JS library for this and I achiev…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Suggested Courses

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question