Avatar billede plaf Nybegynder
02. oktober 2011 - 10:08

Tabs med JQuery og justering af indhold i iframe

Hejsa

Jeg har lavet et side med tabs lavet via css og jQuery.

Der er dog lidt problemer med indholdet på tabsene... F.eks. er et googlekort hentet ind i en iframe ikke længere centreret rigtigt...

Nogen, der kan se en løsning?

Eksempelsiden ligge her: http://www.basta-it.dk/index.html

googlekortet udenfor tabsene ligger her: http://www.basta-it.dk/google.html

Bemærkning: hvis jeg fjerner:
$(".tab_content").hide();
...får jeg jo alt indhold læst ind på tab 1 først... til gengæld er alt indhold justeret korrekt, når jeg derefter tabber rundt...

hele sidens kildekode er:

_______________

<!doctype html>
<head>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.6.4.min.js"></script>

<style>
ul.tabs {
    margin: 0;
    padding: 0;
    float: left;
    list-style: none;
    height: 32px; /*--Set height of tabs--*/
    border-bottom: 1px solid #999;
    border-left: 1px solid #999;
    width: 100%;
}
ul.tabs li {
    float: left;
    margin: 0;
    padding: 0;
    height: 31px; /*--Subtract 1px from the height of the unordered list--*/
    line-height: 31px; /*--Vertically aligns the text within the tab--*/
    border: 1px solid #999;
    border-left: none;
    margin-bottom: -1px; /*--Pull the list item down 1px--*/
    overflow: hidden;
    position: relative;
    background: #e0e0e0;
}
ul.tabs li a {
    text-decoration: none;
    color: #000;
    display: block;
    font-size: 1.2em;
    padding: 0 20px;
    border: 1px solid #fff; /*--Gives the bevel look with a 1px white border inside the list item--*/
    outline: none;
}
ul.tabs li a:hover {
    background: #ccc;
}
html ul.tabs li.active, html ul.tabs li.active a:hover  { /*--Makes sure that the active tab does not listen to the hover properties--*/
    background: #fff;
    border-bottom: 1px solid #fff; /*--Makes the active tab look like it's connected with its content--*/
}
.tab_container {
    border: 1px solid #999;
    border-top: none;
    overflow: hidden;
    clear: both;
    float: left; width: 100%;
    background: #fff;
}
.tab_content {
    position: absolute;
    padding: 20px;
    font-size: 1.2em;
    clear: both;
}

</style>

</head>
<html>
<body>

<ul class="tabs">
    <li><a href="#tab1">Beskrivelse</a></li>
    <li><a href="#tab2">Kort</a></li>
</ul>

<div class="tab_container">
    <div id="tab1" class="tab_content">
        indehold tab 1<br /><br />
        bla bla bla
        <!--Content-->
    </div>
    <div id="tab2" class="tab_content">     
        <iframe src="www.basta-it.dk/google.html" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:350px;" allowTransparency="true" name="googlemap"></iframe>
       
      <!--Content-->
    </div>
</div>
<script type="text/javascript">

$(document).ready(function() {

    //When page loads...
    $(".tab_content").hide(); //Hide all content
    $("ul.tabs li:first").addClass("active").show(); //Activate first tab
    $(".tab_content:first").show(); //Show first tab content

    //On Click Event
    $("ul.tabs li").click(function() {

        $("ul.tabs li").removeClass("active"); //Remove any "active" class
        $(this).addClass("active"); //Add "active" class to selected tab
        $(".tab_content").hide(); //Hide all tab content

        var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
        $(activeTab).fadeIn(); //Fade in the active ID content
        return false;
    });

});
</script>
</body>
</html>

_______________

På forhånd tak for svar :-)

/Plaf
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester