Ändra länkar med checkbox.

JavaScript

6 svar · 243 visningar · startad av ejick

Medlem sedan mars 2001895 inlägg
Trådstart#1

Hej,

jag sitter och funderar på hur man skall bete sig, om det skulle gå, att göra en sida som visar poster. T.ex google.

Om man överst på sidan markerar en checkbox så öppnas länkarna i ett pop-up, annars öppnas de i vanliga fönstret. Finns det en möjlighet att bygga en sådan funktion? :OO

Peace ;)

Medlem sedan dec. 20025 483 inlägg
#2

Hej!

<script type="text/javascript">

function f(obj) {
    var links = document.links,
	iLen  = links.length;

    while (iLen-->0)
	links[iLen].target = (obj.checked) ? "_blank" : "_self";
}

</script>

...

<form>
    <input type="checkbox" onclick="f(this)">
</form>

:)

Medlem sedan mars 2001895 inlägg
#3

Tack så mycket. Det funkar utmärkt :)

Om man nu skulle vilja att man öppnade länken i ett popup istället för i ett vanligt fönster, hur gör man då? Alltså byter _blank mot window.open??

Medlem sedan dec. 20025 483 inlägg
#4
<script type="text/javascript">

function f(bool) {
    var links = document.links,
	iLen  = links.length;

    while (iLen-->0)
	links[iLen].onclick = function(e) {
	    e = e || window.event;

	    if (typeof e.preventDefault != "undefined" && bool) {
		window.open( this.href );
		e.preventDefault();
	    }

	    else if (typeof window.event != "undefined" && bool) {
		window.open( this.href );
		e.returnValue = false;
	    }
	}
}

</script>

...

<form>
    <input type="checkbox" onclick="f(this.checked)">
</form>

:)

Medlem sedan sep. 20021 655 inlägg
#5

... och byt ut

window.open( "foo.html" );

mot

window.open( this.href );

om du vill öppna den aktuella länken i nytt fönster.

Medlem sedan dec. 20025 483 inlägg
#6

Ja, givetvis. Tack för påpekandet!

:)

Medlem sedan mars 2001895 inlägg
#7

Tack så jättemycket!

wF är bäst :)

266 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)