webForumDet fria alternativet

css i js?!

12 svar · 308 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 327 inlägg
#1

Jag använder denna meny på en sida:
http://www.dynamicdrive.com/dynamicindex1/sm/index.htm

Tittar jag i "sample.htm" så finns det några style taggar och färgen på menyn styrs via javascript:

<style>
all.clsMenuItemNS, .clsMenuItemIE{text-decoration: none; font: bold 12px Arial; color: white; cursor: hand; z-index:100}
#MainTable A:hover {color: yellow;}
</style>

<script language="JavaScript">

var keepstatic=1 //specify whether menu should stay static 0=non static (works only in IE4+)
var menucolor="#CCCCCC" //specify menu color
var submenuwidth=150 //specify sub menus width

</script>

Jag skulle istället vilja separera den grafiska formateringen genom att använda en extern .css-fil...så att jag enkelt kan ändra utseende på menyn...går det att göra så att det blir möjligt?! i så fall hur?

Jesper TMedlem sedan nov. 20017 058 inlägg
#2

Ändra till detta i ditt stylesheet eller på sidan sample.htm:

 <style>
all.clsMenuItemNS, .clsMenuItemIE{text-decoration: none; font: bold 12px Arial; color: white; cursor: hand; z-index:100}
#MainTable A:hover {color: yellow;}
[b].menucolor{background-color:red;}[/b]
</style>

Ta bort detta på sidan sample.htm

var menucolor="#CCCCCC" //specify menu color

Under "function menu()" på sidan menu.js ändra detta:

 function Menu()
{
	this.className = "menucolor";
	//this.bgColor = "#CCCCCC";

På samma sida (menu.js) byt ut alla bgColor='"+this.bgColor+"' mot class='"+this.className+"'

Klart!
Ps. Det skulle kanske vara smidigare att styra allt ifrån ett stylesheet så kommer du kunna plocka bort en del kod.

ironheadMedlem sedan mars 20011 327 inlägg
#3

Ps. Det skulle kanske vara smidigare att styra allt ifrån ett stylesheet så kommer du kunna plocka bort en del kod.

Det är ju det jag vill göra, men vet inte hur...

Jesper TMedlem sedan nov. 20017 058 inlägg
#4

vassego

ironheadMedlem sedan mars 20011 327 inlägg
#5

ååååh! Supernice!
1000-tack!!! :birp

:p

ironheadMedlem sedan mars 20011 327 inlägg
#6

Nu när jag ändå har så supernajsiga människor på tråden kan jag väl oxå passa på att fråga om nån vet hur man ändrar för att menyn inte skall rulla ner när man för musen över den, utan att man måste klicka en gång med vänster musknapp för att den skall expandera, men fortfarande rulla tillbaka när man tar bort musen från menyn.

Peter SMedlem sedan dec. 20025 484 inlägg
#7
...
if (n)
	{
		MENUitem += "<ilayer name="+idItem+">";
		MENUitem += "<a href='.' class=clsMenuItemNS [b]onclick[/b]=\"displaySubMenu('"+idItem+"')\" onclick=\"return false;\">";
		MENUitem += "|&nbsp;";
		MENUitem += text;
		MENUitem += "</a>";
		MENUitem += "</ilayer>";
	}

...
else
	{
		if (altLocation != null)
			MENUitem += "href='"+altLocation+"' ";
		else
			MENUitem += "href='.' ";
		MENUitem += "[b]onclick[/b]=\"displaySubMenu('"+idItem+"')\" ";
		MENUitem += "onclick=\"return false;\" "
	}
...

:)

ironheadMedlem sedan mars 20011 327 inlägg
#8

ööh! Det där funkade inte som jag ville....när jag klickar på ett val...skickas jag 1 steg tillbaka istället för att menyn skall rulla ut sig...

Peter SMedlem sedan dec. 20025 484 inlägg
#9

Hoppsan. Nu då?

...
	if (n)
	{
		MENUitem += "<ilayer name="+idItem+">";
		MENUitem += "<a href='.' class=clsMenuItemNS onclick=\"displaySubMenu('"+idItem+"'); return false\">";
		MENUitem += "|&nbsp;";
		MENUitem += text;
		MENUitem += "</a>";
		MENUitem += "</ilayer>";
	}
...
		else
		{
			if (altLocation != null)
				MENUitem += "href='"+altLocation+"' ";
			else
				MENUitem += "href='.' ";
			MENUitem += "onclick=\"displaySubMenu('"+idItem+"')\" ; return false";
		}
...
if (ie||ns6)
{
	document.body.onscroll=hideAll;
	document.body.onmousemove=updateIt;
}

:)

ironheadMedlem sedan mars 20011 327 inlägg
#10

Jag hinner se att menyn fäller ut sig, men den byter fortfarande sida....Hur kommer man runt det?

Peter SMedlem sedan dec. 20025 484 inlägg
#11

Då prövar vi igen ;)

	if (n)
	{
		MENUitem += "<ilayer name="+idItem+">";
		MENUitem += "<a href='javascript:void(0)' class=clsMenuItemNS onclick=\"displaySubMenu('"+idItem+"'); return false\">";
		MENUitem += "|&nbsp;";
		MENUitem += text;
		MENUitem += "</a>";
		MENUitem += "</ilayer>";
	}
...
		else
		{
			if (altLocation != null)
				MENUitem += "href='"+altLocation+"' ";
			else
				MENUitem += "href='javascript:void(0)' ";
			MENUitem += "onclick=\"displaySubMenu('"+idItem+"')\" ; return false";
		}
...

Notera att ordet "javascript" ovan inte skall ha några mellanslag.

:)

ironheadMedlem sedan mars 20011 327 inlägg
#12

oj oj oj!
Nu är jag imponerad! :)
Sånt tålamod och engagemang!!!
många bärs åt dig amigo :birp

Peter SMedlem sedan dec. 20025 484 inlägg
#13

No problem.

Hoppas att det fungerar som du tänkt dig nu.

:bire

Genererad på 505 ms · cache AV · v20260730165559-full.f96bc7eb