HTML
Børre Stenseth
Noen Elementer > iframe >organisering

iframes igjen

Hva

I denne modulen ser vi litt på hvordan vi kan toggle utseende og flytte iframes. Vi kan kanskje si at vi vil gjøre dem litt mer som gadgets?

Innpakket

Vi kan enkelt legge på en menylinje som gjør at vi kan åpne og lukke vår latin-frame.

_ Latinske ordtak

HTML-koden ser slik ut:

<div class="wxtgadget" style="width:303px">
<div class="header"> 
<span class="off" onclick="toggleGadget(this);">_</span>
Latinske ordtak</div>
<div class="content" style="display:none">
<iframe height="120" src="../frame1.html" 
       width="300"> 
</iframe>
</div>
</div>

De aktuelle stildefinisjonene:

.wxtgadget .header{
           border-style:solid; border-width:thin;
           font-size:14px;font-weight:bold;line-height:100%;
           padding: 2px 0px 2px 2px;  min-height:15px;  margin:0px;
           background:#7AC5CD}
.wxtgadget .off { cursor:pointer;float:right; min-width:25px;
              color:#7AC5CD;background:#7AC5CD url(gopen.gif) no-repeat}
.wxtgadget .on {cursor:pointer;float:right; min-width:25px;
           color:#7AC5CD;background:#7AC5CD url(gclose.gif) no-repeat;
               border-bottom-style:none;}
.wxtgadget .content{margin:0px;padding:0px}

Og de to ikonene: og

Java scriptet: toggleGadget kan være slik:

function toggleGadget(elt)
{
    contentElt=elt.parentNode.parentNode.getElementsByTagName('div')[1];
    if(elt.getAttribute("class")=="off")
    {
        contentElt.style.display="block";
        elt.setAttribute("class","on");
    }
    else
    {
        contentElt.style.display="none";
        elt.setAttribute("class","off");
    }
}

Flyttbart

Vi ønsker i tillegg til å åpne og lukke vinduet, også å gjøre det flyttbart (drag and drop). Dette krever en god del mer javaskripting. Det finnes mange oppskrifter for Dragging i Javascript. her har jeg valgt et bibliotek som er helt uavhengig av HTML5 dragg-drop. Biblioteket stammer fraQuirksmode [1]

_Latinske ordtak

HTML-koden blir slik:

<div id="gadget1" class="wxtgadget" style="width:303;position:absolute">
    <div class="header" style="cursor:move"> 
    <span class="off" onclick="toggleGadget(this)">_</span>Latinske ordtak</div>
    <div class="content" style="display:none">
        <iframe height="120" 
                src="../frame1.html" 
                width="300"> 
        </iframe>
    </div>
</div>
<script type="text/javascript"> dragDrop.initElement('gadget1');</script>

Javascriptbiblioteket er slik:

_dnd.js

_TED prize winner 2014

HTML-koden blir slik:

<div id="gadget2" class="wxtgadget" style="width:303;position:absolute">
 <div class="header" style="cursor:move"> 
  <span class="off" onclick="toggleGadget(this)">_</span>TED prize winner 2014</div>
    <div class="content" style="display:none">
    <iframe 
     src="https://embed.ted.com/talks/charmian_gooch_meet_global_corruption_s_hidden_players.html" 
     width="560" height="315">
    </iframe>
    </div>
</div>
<script type="text/javascript"> dragDrop.initElement('gadget2');</script>

Google gadgets

Google har et eget gadget begrep. Google gadgets kan plasseres på en vevside, or er implementert som en iframe. iGoogle var en tjeneste fra Google som gjorde at du ved enkle grep kan konfigurere en vevside med ønskede gadgets. Du trengte en Google-konto for å eksperimentere med dette. Google har også detaljerte beskrivelser av hvodan man skal lage gadgets, beskrevet på Developer Tools [2] .

iGoogle ble avviklet høsten 3013

Diverse tester og forsøk på å finne fram i Googles dokumentsajon har, i hvert fall i skrivende stund, lagt en viss demper på lysten til å fortsette med Google gadgets.

Referanser
  1. Quirksmode Dragh and drop Peter-Paul Koch Quirksmode.org www.quirksmode.org/js/dragdrop.html 05-07-2010
  1. Gadgets Developers Tools Google developers.google.com/gadgets/ 14-06-2010
Noen Elementer > iframe >organisering