Jump to content

javascript in while loop


doddsey_65

Recommended Posts

I have a problem where i am including javascript in a while loop but the id for the link always stays the same.

 

start while loop.....
$thread_topic_id = $topic_info->thread_topic_id;
<script type="text/javascript">

link[0] = '<a href="index.php?forum=<?php echo $forum_id; ?>&topic=<?php echo $thread_topic_id; ?>">View Topic</a>'

</script>

 

the $thread_topic_id variable is always the last record to be displayed. I have 5 records pulled. how would i get it to display the correct id?

Link to comment
Share on other sites

while ($topic_info = mysql_fetch_object($topic_info_query)) 
	{
$thread_topic_id = $topic_info->thread_topic_id;
	?>
<script type="text/javascript">
var defaultMenuWidth="150px" //set default menu width.

var linkset=new Array()
//SPECIFY MENU SETS AND THEIR LINKS. FOLLOW SYNTAX LAID OUT

linkset[0]='<a href="index.php?forum=<?php echo $forum_id; ?>&topic=<?php echo $thread_topic_id; ?>">View Topic</a>'
linkset[0]+='<a href="">View Newest Post</a>'
linkset[0]+='<a href="">Subscribe</a>'

////No need to edit beyond here

var ie5=document.all && !window.opera
var ns6=document.getElementById

if (ie5||ns6)
document.write('<div id="popitmenu" onMouseover="clearhidemenu();" onMouseout="dynamichide(event)"></div>')

function iecompattest(){
return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body
}
function showmenu(e, which, optWidth){
if (!document.all&&!document.getElementById)
return
clearhidemenu()
menuobj=ie5? document.all.popitmenu : document.getElementById("popitmenu")
menuobj.innerHTML=which
menuobj.style.width=(typeof optWidth!="undefined")? optWidth : defaultMenuWidth
menuobj.contentwidth=menuobj.offsetWidth
menuobj.contentheight=menuobj.offsetHeight
eventX=ie5? event.clientX : e.clientX
eventY=ie5? event.clientY : e.clientY
//Find out how close the mouse is to the corner of the window
var rightedge=ie5? iecompattest().clientWidth-eventX : window.innerWidth-eventX
var bottomedge=ie5? iecompattest().clientHeight-eventY : window.innerHeight-eventY
//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<menuobj.contentwidth)
//move the horizontal position of the menu to the left by it's width
menuobj.style.left=ie5? iecompattest().scrollLeft+eventX-menuobj.contentwidth+"px" : window.pageXOffset+eventX-menuobj.contentwidth+"px"
else
//position the horizontal position of the menu where the mouse was clicked
menuobj.style.left=ie5? iecompattest().scrollLeft+eventX+"px" : window.pageXOffset+eventX+"px"
//same concept with the vertical position
if (bottomedge<menuobj.contentheight)
menuobj.style.top=ie5? iecompattest().scrollTop+eventY-menuobj.contentheight+"px" : window.pageYOffset+eventY-menuobj.contentheight+"px"
else
menuobj.style.top=ie5? iecompattest().scrollTop+event.clientY+"px" : window.pageYOffset+eventY+"px"
menuobj.style.visibility="visible"
return false
}

function contains_ns6(a, b) {
//Determines if 1 element in contained in another- by Brainjar.com
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function hidemenu(){
if (window.menuobj)
menuobj.style.visibility="hidden"
}

function dynamichide(e){
if (ie5&&!menuobj.contains(e.toElement))
hidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
hidemenu()
}

function delayhidemenu(){
delayhide=setTimeout("hidemenu()",100)
}

function clearhidemenu(){
if (window.delayhide)
clearTimeout(delayhide)
}

if (ie5||ns6)
document.onclick=hidemenu

</script>

<?php
	$topic_time_posted = date('F j, Y, g:i a', strtotime($topic_info->topic_time_posted));
	$topic_url_name = $topic_info->topic_name;
	$topic_url_name = str_replace(' ', '_', $topic_url_name);
	echo "<div class=\"forum_row\">";
	echo "<div class=\"icon\"><img src=\"images/default_icon.png\" alt=\"thread\" /></div>";
	echo "<div class=\"icon2\"><img src=\"images/topic_icon.png\" alt=\"thread\" /></div>";
	echo "<a href=\"index.php?forum={$forum_id}&topic={$topic_info->thread_topic_id}\" onMouseover=\"showmenu(event,linkset[0])\" onMouseout=\"delayhidemenu()\">";

 

that is the code for starting the while loop and is shown up until the part where i use the javascript in the html.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.