Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-25 01:24:20 - Robert Bolocci, i forum javascript/dhtml, Tråden har 14 Kommentarer och lästs av 1366 personer

Hej

Jag har en meny som är tabell celler och ändrar deras backgroud med hjälp ava onMouseOver, onMouseOut, onMouseUp och onclik.


När jag clickar på cellerna vill jag att de ska ha en annan bakgrundsbild men den ändras bara en kort secund (0,2 second) och den ändras tillbaka igen. (onMouseOver och onMouseOut funkar)

här är min kod:

<td class="menuItem" id="home" onmouseover="SetClass('home', 'ItemMouseOver')" onmouseout="SetClass('home', 'ItemMouseOut')" onmouseup="SetClass('home', 'ItemMouseClick')">
<asp:HyperLink ID="hlHOme" runat="server" NavigateUrl="~/Default.aspx" Text="Destpek"></asp:HyperLink>
</td>


function SetClass(id, myclass) {
document.all(id).className = myclass;
}


Svara

Sv: problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-25 08:38:52 - Anders Blomgren

Det är inte så att din onmouseout slår nästan direkt då? Om färgen ändras av ett click (säker på att det inte är onclick som du vill använda, ej relevant för frågan) så triggas din event men sen händer något mer. Eftersom vi inte sett någon mer kod är det enbart onmouseover/onmouseout som kan slå.
Om klick ska stänga av färgändringen för over/out måste du hantera det i SetClass.
Exempelvis:
function SetClass(id, myclass) {
if (document.all(id).className != 'ItemMouseClick')
{
document.all(id).className = myclass;
}
}

Här skulle du ju även kunna kolla om ItemMouseClick redan är den aktiva klassen och i så fall ändra tillbaka till ItemMouseOut för att simulera en på/av-knapp.

//Anders


Svara

Sv:problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-25 10:09:13 - Robert Bolocci

Tack för ditt svar,

Jag tror problemet ligger hos hyperlinken för att när man klikar den då blir en post back och får cellen menuItem som klass. eller jag har inte försått hur javascript laddas om till klienten. jag vet inte.

tack


Svara

Sv: problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-25 10:52:48 - Per Persson

Använd inte document.all(id) utan det standardiserade document.getElementById(id).


Svara

Sv: problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-25 11:35:29 - Anders Blomgren

Ja, klickar du på hyperlänken blir det postback och cssklassen följer inte med utan blir enligt din markup. Du skulle ju kunna hantera postback-event för länken, ta fram parent och sätta css-klassen där.
HyperLink-klassen stöder dock inte events så då får du använda en LinkButton istället.
Alltså:
Om "aktiv sida" (för det är väl det du menar?) är vald, hantera det i din javascript-kod och ändra inte för mouseover/mouseout då.
Ange en eventhandler för din LinkButton som hanterar postback-eventet. I den metoden så hämtar du Parent för din LinkButton och ställer CSS-klassen.

//Anders


Svara

Sv:problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-25 13:09:29 - Robert Bolocci

tack för det,

menar du i MyLinkButton_Click heventhandlern ska göra något i still med:

MyLinkButton.Parent.cssClass

men Parent har ingen cssClass property eller någont liknande.


Svara

Sv: problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-25 15:00:40 - Anders Blomgren

Det är för att parent är närmaste kontroll upp i kedjan som är runat=server.
Om du i din td-tag lägger till runat="server" så blir parent en HtmlTableCell som har Attributes som du kan använda för att lägga till "class" och ett klassnamn:

Exempel på eventhandler:
protected void lbButton_Click(object sender, EventArgs e)
{
LinkButton button = sender as LinkButton;
HtmlTableCell cell = button.Parent as HtmlTableCell;
cell.Attributes["class"] = "ItemMouseClick";
}


Jag skulle vilja tillägga att om du inte behöver postback utan kan göra det du vill på klientsidan via javascript så funkar din ursprungliga plan bra, med tillägget att du måste stänga av over/out efter att du klickat.

//Anders


Svara

Sv:problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-25 15:36:40 - Robert Bolocci

Tack så mycket fö din tid,

problemet är Response.Redirect("~/default.aspx"); och cellen laddas om som nytt.


Svara

Sv: problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-26 13:53:39 - Anders Blomgren

Pekar du inte redan länken mot default.aspx, varför då omdirigera? Svårt att ge råd om små detaljer när översikten saknas och ändrar förutsättningarna.
Vad, rent översiktligt, försöker du göra?

//Anders


Svara

Sv:problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-26 23:36:19 - Robert Bolocci

jag har en meny, vad jag vill göra är att när musen rörs över en Item, den sak få en bakgrundsferg grå och när jag tar bort pekaren (musen) den får tillbaka sin ursprunliga bakgrund och den länken är klikad får den blå som bakgrundsfärg (cssClass) som visar i vilken sida besökaren ligger.


Svara

Sv: problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-27 00:12:01 - Anders Blomgren

Om du nu inte är kvar på asp.net 1.1 så rekommenderar jag att du utforskar masterpages och <asp:Menu ...>, då får du precis den funktionaliteten (och en massa annat).

//Anders


Svara

Sv:problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-27 00:41:21 - Robert Bolocci

tack för det,

jag håller på 3.5 faktiskt och har jobbat med sitemap och asp.menu och masterpages, men i det här fallet menyn är bara en tabell.


Svara

Sv: problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-27 00:49:41 - Anders Blomgren

Så menyn i fråga är copy/paste'ad till samtliga sidor? Då kan du ju ändra vad som är selected i Page_Load, massa manuellt och hårdkodat men det har du ju ändå utan asp:menu och masterpages. :)

//Anders


Svara

Sv:problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-27 01:02:30 - Robert Bolocci

just det,

ville bara fixa det med hjälp av onClick, onMouseOver och onMouseOut med JavaScript.

i värsta fall jag kommer att göra vad du skrivit.


Svara

Sv: problem med onClick och onMouseUp ändra backgroud

Postades av 2008-07-27 01:49:22 - Anders Blomgren

I så fall är sättet att köra ett script i <body onload=...> som jämför nuvarande url (document.location.href) mot href-attributen i din tabell.
Det kommer inte bli roligt att rota reda på alla dina a-taggar, rekommenderar att du använder http://js-xpath.sourceforge.net/ eller liknande så att du åtminstone kan köra en xpath-sökning i stil med "//table[@id=mymenu]//a".

//Anders


Svara

Nyligen

  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 864
27 962
271 767
553
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies