webForumDet fria alternativet

Om datum passerat

ASP

7 svar · 629 visningar · startad av Trumpf

Medlem sedan feb. 2004213 inlägg
Frågan#1

Jag skulle vilja ha en annan backgrund om man passerat ett datum som exempel 2007-08-04. Vi säger att texten är svart med vit backgrund.

Och 2007-08-05 vill jag att det ska vara röd backgrund med vit text.

Hur gör jag då?

Medlem sedan juni 20003 076 inlägg
#2

Så här kanske! :)

<%
     Dim className
     className = "regular"

     If DateDiff("d", Date(), DateSerial(2007,8,4)) >=0 Then
          className = "blackwhite"
     End If

     If DateDiff("d", Date(), DateSerial(2007,8,5)) >=0 Then
          className = "redwhite"
     End If
%>

<style>
.regular {
     background-color: white;
     color: black;
}
.blackwhite {
     background-color: black;
     color: white;
}
.redwhite {
     background-color: red;
     color: white;
}
</style>

<div class="<%= className %>">
     blabla
</div>
Medlem sedan juni 20019 519 inlägg
#3
<%
     Dim className
     If DateDiff("d", Date(), DateSerial(2007,8,4)) >=0 Then
          className = "blackwhite"
     elseIf DateDiff("d", Date(), DateSerial(2007,8,5)) >=0 Then
          className = "redwhite"
     Else
            className = "regular"
     End If
%>

Onödigt att ha två If Frågor...

Medlem sedan juni 20019 519 inlägg
#4
'Returns a string
Function dateClassName(myDate) 'myDate as Date()
	Dim diff
	diff = DateDiff("d",Date(),myDate)
	If diff = 0 Then
		dateClassName = "today" 'Its today!
	Elseif diff = -1
		dateClassName = "yesterday" 'The day after
	Elseif diff > 0
		dateClassName = "before" ' Still got time!
	Else
		dateClassName = "old" ' Old Event!
	End If
End Function
<div class="<%= dateClassName(CDate("2007-08-04"))%>">
     blabla
</div>
Medlem sedan juni 20003 076 inlägg
#5

voigtann1 skrev:

Onödigt att ha två If Frågor...

Nope, för om det är den 5/8 så kommer koden att gå in i första ifsatsen ändå och därmed bli "blackwhite" fast den ska bli "redwhite". :)

Medlem sedan juni 20019 519 inlägg
#6

Du har gjort en konstig If fråga isåfall ;)

Medlem sedan dec. 19996 721 inlägg
#7

Det är EN brytpunkt. Alltså räcker det med EN if-sats.

Medlem sedan aug. 2002733 inlägg
#8
<%
     Dim className
     className = "regular"

     If DateDiff("d", Date(), DateSerial(2007,8,5)) >=0 Then
          className = "redwhite"
     ElseIf DateDiff("d", Date(), DateSerial(2007,8,4)) >=0 Then
          className = "blackwhite"
     End If
%>
295 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
162 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)