2016-07-06 6 views
0

Zuerst Hallo an alle. Ich bin relativ neu in jQuery und auf einer Lernkurve.Laden Sie die erste Seite Onload und erste Navigationstaste angeklickt Onload

Mein Skript ist dies:

<script 
 
src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"> 
 
</script> 
 

 
<script> 
 
$(function() { 
 
$('#content').find('#nav a').on('click', function (e) { 
 
e.preventDefault(); 
 
var page = $(this).attr('href'); 
 
$('#content2').load(page); 
 
}); 
 
}); 
 
$(function() >{ 
 
$('#content').find('#nav a').click(function() { 
 
$('#nav a').removeClass('selected'); 
 
$(this).addClass('selected'); \t \t    
 
}); 
 
}); 
 
</script
<div id="content"> 
 
<embed type="image/svg+xml" src="x.svg" /> 
 
<div id="svgfix"> 
 
    <embed type="image/svg+xml" src="1.svg" /> 
 
    <embed type="image/svg+xml" src="2.svg" /> 
 
    <embed type="image/svg+xml" src="3.svg" /> 
 
    <embed type="image/svg+xml" src="4.svg" /> 
 
    <embed type="image/svg+xml" src="5.svg" /> 
 
    <embed type="image/svg+xml" src="6.svg" /> 
 
</div> 
 
<div id="nav"> 
 
     <a href="1.htm"><img type="image/svg+xml" src="1.svg" /></a> 
 
     <a href="2.htm"><img type="image/svg+xml" src="2.svg" /></a> 
 
     <a href="3.htm"><img type="image/svg+xml" src="3.svg" /></a> 
 
     <a href="4.htm"><img type="image/svg+xml" src="4.svg" /></a> 
 
     <a href="5.htm"><img type="image/svg+xml" src="5.svg" /></a> 
 
     <a href="6.htm"><img type="image/svg+xml" src="6.svg" /></a> 
 
</div> 
 
</div> 
 
<div id="content2"><h1></h1></div>

Das Skript funktioniert gut. Das einzige Problem, das ich habe, möchte ich, dass die erste Seite automatisch geladen wird und die erste Schaltfläche ausgewählt ist. Ich habe versucht, hier eine Lösung zu finden und durch die Themen zu lesen, aber nichts hat so gut funktioniert.

Das Skript sollte beim Klick durch die Navigationsleiste mit den 6 Seiten laden und es wird und jede Schaltfläche wird ausgewählt. Aber ich möchte auf der ersten Seite laden, die erste Taste automatisch auswählen und die erste Seite automatisch laden.

Ich hoffe, meine Frage ist verständlich und vielen Dank für Ihre Zeit und Hilfe im Voraus ...

Antwort

2

Sie können etwas tun:

eine Funktion erstellen und rufen, wenn die Seite fertig ist und auf Click-Ereignis

$(function() { 

function getPage(el){ 
var page = $(el).attr('href'); 
$('#content2').load(page); 
$('#nav a').removeClass('selected'); 
$(el).addClass('selected'); 
} 


getPage($('#nav a:first-child'));//get the first page 
$('#nav a').on('click', function (e) { 
e.preventDefault(); 
    getPage($(this));    
}); 
}); 
+1

Das ist genau das, was ich wollte, vielen Dank! – mac4best

+0

Vergiss nicht, den grünen Knopf zu drücken, um die Antwort zu akzeptieren: p – madalinivascu

+0

Aber leider funktioniert es nur auf Firefox und Safari, Chrom funktioniert nicht – mac4best

0

Try Klick Triggerung auf erste Verbindung, nachdem Sie die Ereignis-Listener

$('#nav a').first().click() 

Schnell Notiz erstellen über Ihre find(). Da die IDs auf einer Seite eindeutig sein müssen, können Sie $('#content').find('#nav a') überspringen und einfach $('#nav a') verwenden

+0

waren genau lese ich diesen kleinen Code hinzufügen, innerhalb des ersten oder die zweite Funktion? – mac4best

+0

Nach ihnen ... brauchen Sie diese Event-Handler erstellt, bevor Sie den Code in ihnen auslösen – charlietfl

+0

ich habe die Suche, sonst kann ich nicht das Div innerhalb der div, da es zwei divs, und die div ich brauche ist in einem anderen div. – mac4best

0

Versuchen Sie Ihre Frage zu verstehen - vielleicht so etwas?

$(document).ready(function() { 
    var firstNav = $('#nav a').first(); 
    var page = firstNav.attr('href'); 
    $('#content2').load(page); 
    firstNav.addClass('selected'); 
} 
+0

@ charlietfl kann weniger verbose Lösung haben ... – clemdia

+0

Es gibt nur ein nav mit den 6 Seiten geladen werden bei jedem Klick, und das funktioniert jetzt. Aber ich möchte beim Laden der Seite, die erste Seite in das div automatisch laden und die erste Schaltfläche automatisch ausgewählt ... – mac4best

+0

Wenn der Code in Ihrer Frage funktioniert wie Sie wollen, ich denke, der Code oben würde Ihre "Autoload" und "Autoselect" tun beim Laden der Seite. – clemdia