Follow us on Twitter X-Cart on Facebook Wiki
Shopping cart software Solutions for online shops and malls
 

adding onMouseOver to the category menu

 
Reply
   X-Cart forums > X-Cart 4 > Dev Questions > Changing design
 
Thread Tools Search this Thread
  #1  
Old 07-29-2004, 01:11 PM
 
DuMaNue DuMaNue is offline
 

Member
  
Join Date: Jun 2004
Location: Los Angeles, CA
Posts: 10
 

Default adding onMouseOver to the category menu

Hey gang,

I have a question, Im trying to add an onMouseOver JS to the category menu template so that whenever someone moves a mouse over a category, a different section in the site will light up and show an img of said category.

Here's my problem, Im not THAT good with the engine, and this script:

{section name=cat_num loop=$categories}
<font class=CategoriesList>{$categories[cat_num].category_name}</font>

{/section}

baffles me.

I know what it does, but I dont know how I can add the mouseover to this, unless I can do it in my JS.

here is my onMouseOver JS so that you might advice me on changing it to fit the php script:

<head section>
<script LANGUAGE="JavaScript" TYPE="text/javascript">



browser = navigator.appName;
if (browser == "Netscape" || (browser == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) >= 4 ))
{
if (document.images)
{

pix1 = new Image();
pix1.src ="test1.gif";

pix2 = new Image();
pix2.src ="test2.gif";

pix3 = new Image();
pix3.src ="test3.gif";

pix4 = new Image();
pix4.src ="test4.gif";

pix5 = new Image();
pix5.src ="test5.gif";

pixdefault = new Image();
pixdefault.src ="default.gif";
}
}

// function to change photos
function changePix(i)
{
if (i > "")
{
if (document.images)
{
document['products'].src = eval("pix" + i + ".src");
}
}
else
{
defaultPix();
}
}
function defaultPix()
{
if (document.images)
{
document['products'].src = eval("pixdefault.src");
}
}

// -->
</script>
</head section>

<img section>
test1
</img section>

any assistance will be much appreciated.

Simon
Living Pleasure
x-cart v3.5.9

you can also email me at webmaster@livingpleasure.com

thanks again for all the help
Reply With Quote
  #2  
Old 07-29-2004, 04:56 PM
  shan's Avatar 
shan shan is offline
 

X-Guru
  
Join Date: Sep 2002
Location: Birmingham, UK
Posts: 6,163
 

Default

dont forget you need to wrap javascript in {literal} tags


Code:
{literal} your javascript {/literal}

check smarty.php.net for more info
__________________
Looking for a reliable X-cart host ?
You wont go wrong with either of these.

EWD Hosting
Hands On Hosting
Reply With Quote
  #3  
Old 07-30-2004, 01:41 AM
 
DuMaNue DuMaNue is offline
 

Member
  
Join Date: Jun 2004
Location: Los Angeles, CA
Posts: 10
 

Default

Yes thanks I know that, just neglected to post it with the rest of the JS code.

still need an answer to my problem tho

and I did look and post in smarty.php.net, we'll see how that goes

thanks again
Reply With Quote
  #4  
Old 02-27-2005, 08:08 AM
 
Sonia Sonia is offline
 

Advanced Member
  
Join Date: Feb 2005
Posts: 72
 

Default image mouseover

Hi there. I have a similar question, I think. I can't seem to solve my image rollover problem. I developed my page in Dreamweaver, using their way of doing rollover images. I then put the javascript in the <head> area of my home.tpl file, using the {literal} tags thus:

Code:
{literal}<script language="JavaScript" type="text/JavaScript"> <!-- function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preload{$ImagesDir}() { //v3.0 var d=document; if(d.{$ImagesDir}){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preload{$ImagesDir}.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_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script>{/literal} </HEAD>

However I get a page error saying - Error: expected "{" on home.php. I saw somewhere people said to use {ldelim}funcname{rdelim} tags, but I don't know where I would put them.

#2 - I put the "onload" code into the <body ...> tag. Will that work okay? It's to preload the images.

#3 - I then put the following code into my content area:

Code:
<a href="http://www.vidaville.com/store/home.php?cat=248" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('your_day','','{$ImagesDir}/nav_your_day_ro.gif',1)"> [img]{$ImagesDir}/nav_your_day.gif[/img]</a> <a href="http://www.vidaville.com/store/home.php?cat=249" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('personal_affairs','','{$ImagesDir}/nav_personal_affairs_ro.gif',1)"> [img]{$ImagesDir}/nav_personal_affairs.gif[/img]</a> and so on...

Will that work okay?

Or is there a simpler way of doing rollover images? I can't find a solution anywhere, it seems.
__________________
Sonia

www.vidaville.com
Xcart Gold 4.0.16
platform - Windows
Reply With Quote
  #5  
Old 03-12-2005, 11:41 AM
 
chinhminhdo chinhminhdo is offline
 

Newbie
  
Join Date: Mar 2005
Posts: 6
 

Default

HI Sonia,

I did exactly the same way you try to do and it works.
I put the javascript in customer/home.tpl in <HEAD> section and it works like charm. Just FYI
__________________
x-cart Gold version 4.0.12
Windows XP
Apache 2.0.53
PHP 5.0.3
MySQL 4.1
Reply With Quote
Reply
   X-Cart forums > X-Cart 4 > Dev Questions > Changing design



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

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -8. The time now is 07:56 AM.

   

 
X-Cart forums © 2001-2020