JavaScript & JQuery

iFrame, onLoad och ett ankare ....

2015-10-14 22:18 #0 av: pellepiano

Jag har en iframe en bit ned på en sida, så den syns inte, och jag skulle behöva en kod som gör att när något laddas in i iFramen så scrollas sidan ner så iFramen blir synlig.

Har nån ett förslag tro?

Anmäl
2015-10-14 22:20 #1 av: johan

Ligger iframens innehåll på samma domän som huvudsidan?

Anmäl
2015-10-14 22:49 #2 av: pellepiano

Jo. 

Anmäl
2015-10-15 08:06 #3 av: johan

Otestat, men du bör kunna göra så här:

Ge iframen ett id, <iframe id="minframe" ....>

I sidan för iframen, lägg in följande script:

<script>

window.addEventListener('load', function() {

parent.location.hash = "minframe";

});

</script>

Givetvis viktigt att "minframe" är samma i både script och ID på iframe.

Anmäl
2015-10-15 11:00 #4 av: pellepiano

Tack för svar. Det verkar inte fungera riktigt och det verkar vara så att iframen inte räknas som parent. Jag hittade ett script nu som blandade ditt med ,  med onLoad= i iFrame-koden och ...

<script type="text/javascript">

function onLoadHandler() {

if (hide==1){

location.hash = "ifrm";

location.hash = "just_to_reset_previous";

}

}

</script>

Där har jag lagt till en ifsats för att inte scrollningen ska ske när huvudsidan laddas. Variabeln hide=1 ligger längre ned på sidan ( fick den inte att fungera i funktionen ). Den dubbla hashen är för att den måste ändras för att kunna upprepas.

Jag ska ha bilder på cdskivor högst upp på huvudsidan. Vid klick på cd laddas cd-skivans htmlsida in i iframen och scrollningen sker så iframen  dyker upp för betraktaren .

Och nu efter säker 150 olika tester fungerar det, på en Wordpress sida som för tillfället har problem med databasen så fördröjningar upp till 30 sek per ändring =)

Tack för hjälpen.

Anmäl

Bli medlem på iFokus

För att kunna delta i diskussionen måste du bli medlem på iFokus. Det går snabbt, enkelt, och kostar ingenting. Medlemskapet ger dig tillgång till över 300 sajter.