webForumDet fria alternativet

Visa en bild med javascript samt document.getElementById, klydd, hjälp tack!

JavaScriptur Javascript

7 svar · 334 visningar · startad av jvc_man

jvc_manMedlem sedan okt. 2003165 inlägg
#1

Hej!

Följande sats använder jag vid visning utav bilder:

function Visa(bildNamn,widt,heig) {
document.bild.width = widt;
document.bild.height = heig;

if (ns3upp || ie4upp) {
imgOn = ("" + bildNamn);
document.bild.src = imgOn;
}

document.getElementById('stor').href = bildNamn.substr(0, bildNamn.length - 4) + "(big)." + bildNamn.substr(bildNamn.length - bildNamn.indexOf(".") + 1, bildNamn.length) + "gif";

}
____________________________________________________

Lite längre ned i koden där bilden skall visas använder jag följande:

<a href="#" id="stor" target="_blank"><img name="bild" src="bild1.jpg" border="0" width="190" height="155" vspace="0" hspace="11"></a>
____________________________________________________

Dock så är problemet att jag vill antingen (beroende) på vilken kategori som jag är inne i, visa samma bild igen eller en ny med "big" på slutet.

Följande försökte jag:

<% If Session("seven") = "7" Then %>

<a href="#" id="small" target="_blank"><img name="bild" src="bilder/starbg1.jpg" border="0" width="190" height="155" vspace="0" hspace="11"></a>

<% Else %>

<a href="#" id="stor" target="_blank"><img name="bild" src="bilder/starbg1.jpg" border="0" width="190" height="155" vspace="0" hspace="11"></a>

<% End If %>
____________________________________________________

Detta funkar bra (ovanstående), dock är det här som jag inte får till det nu:

function Visa(bildNamn,widt,heig) {
document.bild.width = widt;
document.bild.height = heig;

if (ns3upp || ie4upp) {
imgOn = ("" + bildNamn);
document.bild.src = imgOn;
}

document.getElementById('stor').href = bildNamn.substr(0, bildNamn.length - 4) + "(big)." + bildNamn.substr(bildNamn.length - bildNamn.indexOf(".") + 1, bildNamn.length) + "gif";

document.getElementById('small').href = bildNamn;

}
____________________________________________________

Felet är förmodligen att man ej kan ha två stycken document.getElementById i samma sats, dock undrar jag då:

Hur skall jag göra för att jag skall uppfylla målet som ni nu förmodligen förstår, jag är inte så himla bra på javascript och så, mer insatt i asp...
Hoppas någon kan hjälpa mig!

Mvh Björn M :l

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Kan vi spola tillbaks bandet och titta på vad du vill ha så skriver vi en ny kodsnutt? :) Tror det är enklare. Vad vill du ha?

När du gör någonting (kanske klickar på något) skall en bild bytas och en länk ändras, och sedan beroende på Session("seven") skall vad ändras?

jvc_manMedlem sedan okt. 2003165 inlägg
#3

Tjena!

Då skall vi se, följande saker skall ske:

Om jag klickar på en länk, skall en bild komma upp (som är specifik för länken). Om jag klickar på bilden skall en ny bild komma upp med samma sökväg som den förra bilden, dock med "(big)" på slutet.

MEN: Om jag är inne i en speciell kategori (7:an) så skall inte den nya bilden ha "(big)" på slutet, dvs den nya bilden skall vara densamma som originalet.

Hoppas ni kan hjälpa mig nu! =)

Mvh Björn M

JojoxxMedlem sedan juni 20004 308 inlägg
#4

Ungefär så här;

<img src="dummy.gif" id="imghere" alt="" <%if session("seven") <> "7" then%>onclick="if(this.alt){ this.src=this.alt+'_big.gif'; }"<%end if%> />
<script type="text/javascript">
function imgchange(a){
	document.getElementById('imghere').src=a.href+".gif";
	document.getElementById('imghere').alt=a.href;
	return false;
}
</script>

<a href="kalleanka" onclick="return imgchange(this);">Kalle Anka</a>
<a href="langben" onclick="return imgchange(this);">Långben</a>

dummy.gif håller platsen där bilden skall hamna. Klickar du på länken "Kalle Anka" som har href kalleanka visas "kalleanka.gif". Klickar du sedan på bilden visas "kalleanka_big.gif" om du inte sessionvariabeln är "7". Paranteser är inga bra tecken i filnamn på nätet så de hoppar jag över.

jvc_manMedlem sedan okt. 2003165 inlägg
#5

Tack för svaret, ska se över det när jag vaknat riktigt, dock blir det en del att modifiera!

Mvh

jvc_manMedlem sedan okt. 2003165 inlägg
#6

Tjena, nja, det blev lite svårt att få det att funka, bilden kom upp i main-ramen...

Dock, det som jag använder är ganska bra nu, tycket dock att man borde kunna ändra det lite så att det funkar, jag skall visa lite mera...

____________________________________________________

När man klicka på nedanstående länk, så skickas info:n om bilden till javacript-funktionen som kommer efter nedanstående kod.

<a href="javascript:Visa('<%=RecSet("lank")%>','<%=RecSet("bredd")%>','<%=RecSet("hojd")%>');"><% =RecSet("Namn") %></a>
____________________________________________________

Här är javascript-funktionen som tar hand om bildens info och lite så.

<SCRIPT LANGUAGE="JavaScript">
<!--

function Visa(bildNamn,widt,heig) {
document.bild.width = widt;
document.bild.height = heig;

if (ns3upp || ie4upp) {
imgOn = ("" + bildNamn);
document.bild.src = imgOn;
}

document.getElementById('stor').href = bildNamn.substr(0, bildNamn.length - 4) + "(big)." + bildNamn.substr(bildNamn.length - bildNamn.indexOf(".") + 1, bildNamn.length) + "gif";

}
-->
</SCRIPT>
____________________________________________________

Här kommer koden som är för själva bilden, den som visas i main, dvs på hemsidan...

<% If Session("seven") = "7" Then %>

<a href="#" id="small" target="_blank"><img name="bild" src="bild1.gif" border="0" width="200" height="200" vspace="0" hspace="11"></a>

<% Else %>

<a href="#" id="stor" target="_blank"><img name="bild" src="bild1.gif" border="0" width="200" height="200" vspace="0" hspace="11"></a></div>

<% End If %>
____________________________________________________

Det som jag tycker är att man skall kunna lägga till en till document.getElementById i javascriptet så att det skulle se ut så här i slutet av funktionen:

document.getElementById('stor').href = bildNamn.substr(0, bildNamn.length - 4) + "(big)." + bildNamn.substr(bildNamn.length - bildNamn.indexOf(".") + 1, bildNamn.length) + "gif";

document.getElementById(small).href = bildNamn;

Då skulle den göra den första document.getElementById om det vore "stor" eller den andra om det vore "small".

Dock funkar ju inte detta, någon ny bra lösning på denna typen av prog. ??

Mvh och är tacksam för ert svar som jag redan fått dock!

Hoppas någon kan hjälpa!

JojoxxMedlem sedan juni 20004 308 inlägg
#7

Du menar så här?

if(document.getElementById('stor')){
//... här gör du saker om elementet med id "stor" finns.
} else {
//... annars händer det här.
}

(Dock lite konstigt att mitt exempel skulle påverka andra frames. Några sådanna referenser finns inte i scriptet :) Tror det är fel någon annanstans, men vi kör på din väg)

jvc_manMedlem sedan okt. 2003165 inlägg
#8

Tack, ibland står allt stilla och man kommer inte på någon lösning fastän det egentligen är ganska simpelt!

=)

Mvh

146 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)