naw met extern bestand veranderen

Status
Niet open voor verdere reacties.

De Mettes

Gebruiker
Lid geworden
29 mei 2007
Berichten
172
nav met extern bestand veranderen

Dag iedereen

Ik hoop dat ik dit juist post.

Ik heb een tutorial gevolgd voor een website te maken met jquery functies. Nu verwijst de navigatie in de index.html naar een ander bestand (boo.php). In dit bestand zit een case structuur om de gevraagde pagina te openen.

Is dit nu een goede manier? Ik zou denken van niet en dat het een beetje vertraagd.

Hier is de navigatie code:
Code:
<script src="jquery.min.js" type="text/javascript"></script>
 <script>
  // When the document loads do everything inside here ...
     $(document).ready(function(){
	 Nifty("#menu a","small top transparent");
	 Nifty("#outcontent","medium bottom transparent");
	 $('.content').load('pages/boo.php');	//by default initally load text from boo.php
         $('#menu a').click(function() { //start function when any link is clicked
		 				$(".content").slideUp("slow");
						 var content_show = $(this).attr("title"); //retrieve title of link so we can compare with php file
							$.ajax({
							method: "get",url: "pages/boo.php",data: "page="+content_show,
							beforeSend: function(){$("#loading").show("fast");}, //show loading just when link is clicked
							complete: function(){ $("#loading").hide("fast");}, //stop showing loading when the process is complete
							success: function(html){ //so, if data is retrieved, store it in html
							$(".content").show("slow"); //animation 
							$(".content").html(html); //show the html inside .content div
					 }
				 }); //close $.ajax(
         }); //close click(
	 }); //close $(
</script>

Hoe ik de links ingeef:
Code:
<body>
<div class="page">
<div>
<ul id="menu">  
             <li id="home"><a href="#" title="home">Home</a></li>
            <li id="line-up"><a href="#" title="line-up">Line-up</a></li>
            <li id="tickets"><a href="#" title="tickets">Tickets</a></li>  
            <li id="fotos"><a href="#" title="fotos">Fotos</a></li> 
            <li id="gastenboek"><a href="#" title="gastenboek">Gastenboek</a></li> 
				<li id="locatie"><a href="#" title="locatie">Locatie</a></li> 
				<li id="helpers"><a href="#" title="helpers">Helpers</a></li> 
				<li id="sponsors"><a href="#" title="sponsors">Sponsors</a></li> 
				<li id="contact"><a href="#" title="contact">Contact</a></li> 
</ul>
<br style="clear:both;" />
</div>

Dit is een deel van boo.php
Code:
<?php
header("Cache-Control: no-cache");
sleep(2);

$p = $_GET['page'];

switch($p) {
case "home":default:
include("home.php");
break;

case "line-up":
echo 'line-up<br style="clear:both;" />';
break;

case "tickets": 
echo 'tickets<br style="clear:both;" />';
break;

Mijn site vind je hier.

Alvast bedankt
 
Laatst bewerkt:
Javascript gebruiken om je site in elkaar te zetten is sterk af te raden. Zeker voor iets belangrijks als navigatie. Tuurlijk, het zijn leuke effectjes maar je kunt je veel beter limiteren tot normale combinaties van html en css en een server side scripting taal als PHP, met hier en daar wat optioneel javascript om het gebruikersgemak te verhogen.

Vooral Ajax is leuk om mee te werken, maar het is een speeltje. Als dat is wat je wilt is het geen probleem, en soms is het nuttig. Ik heb ook een site in elkaar gezet die alleen maar met javascript werkt (los van het html skelet). Maar in de professionele websites die ik maak vermijd ik altijd zo veel mogelijk het gebruik van javascript.

Maargoed, los daarvan ziet het er uit alsof je site werkt zoals het hoort. De laadtijd valt ook wel mee. Maar als je het te lang vindt duren kun je er voor zorgen dat je pagina's gecached worden door de juiste headers mee te sturen vanuit PHP. Moet je natuurlijk wel oppassen dat je dynamisch gegenereerde pagina's niet (te lang) gecached worden.

Of als je boo.php erg langzaam uit voert kun je de verschillende pagina's splitsen over meerdere bestanden zodat er minder grote php bestanden uit gevoerd worden. Het lijkt in iedergeval alsof boo.php veel langzamer laadt dan je index, terwijl er meer data in de index staat.
 
Laatst bewerkt:
Het is ook een beetje de bedoeling om het visueel te laten opvallen.
De site is namelijk voor een fuif wat toch een beetje meer effect mag hebben vind ik.

Zal eens proberen het iets sneller te maken maar zal denk ik toch bij javascript blijven.
 
Oh ik zie nu dat je php bestand standaard 2 seconden wacht na het versturen van de headers. Waarom eigenlijk? Het is niet nodig na het versturen van de headers en het voegt 2 seconden laad-tijd toe aan elke pagina. Dat is best veel.
 
Ahja das juist hierdoor gaat het sluiten en openen van het frame rustiger. Was dit vergeten.

Als ik dit weg doe is het veel te snel dus heb het eens op 1s gezet en vind ik precies wel beter.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan