• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mit ajax link 2 ziele öffnen ?

Status
Für weitere Antworten geschlossen.

Fr3gg3L

Neues Mitglied
Hi leutz,

nutze folgenden script für meine navigation, funktioniert auch einwandfrei, aber möchte beim klicken eines links nicht nur den inhalt vom content div ändern sondern auch den von titel div, wie kann ich das bewergstelligen?

output.php
Code:
<?php
switch($_REQUEST['action']) {
  default:
case 'getSeite1':
    $filename = 'home.html';
    break;
case 'getSeite2':
    $filename = 'test.html';
    break;
case 'getSeite3':
    $filename = 'datei3.html';
    break;
case 'getSeite4':
    $filename = 'satzung.html';
    break;
case 'getSeite5':
    $filename = 'gbook.html';
    break;
}
$handle = fopen($filename, 'r');
$main = fread($handle, filesize($filename));
fclose ($handle);
echo 'main|'.$main;

?>

request.js
Code:
function createRequestObject() { 
    var ro; 
    var browser = navigator.appName; 
    if(browser == "Microsoft Internet Explorer"){ 
        ro = new ActiveXObject("Microsoft.XMLHTTP"); 
    }else{ 
        ro = new XMLHttpRequest(); 
    } 
    return ro; 
} 

var http = createRequestObject(); 

function sndReq(action) { 
    http.open('get', 'output.php?action='+action); 
    http.onreadystatechange = handleResponse; 
    http.send(null); 
} 

function handleResponse() { 
    if(http.readyState == 4){ 
        var response = http.responseText; 
        var update = new Array(); 

        if(response.indexOf('|' != -1)) { 
            update = response.split('|'); 
            document.getElementById(update[0]).innerHTML = update[1]; 
        } 
    } 
}

index.php

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="request.js"></script>
<script type="text/javascript" language="JavaScript">
<!--
function pruefe() {
   if(document.all&&!window.opera) {
     var a=document.all.detail;
     detail.document.body.scroll='no';
   } else {
     var a=document.getElementsByName('detail')[0];
     a.scrolling='no';
   }
   var a=document.getElementsByName('detail')[0];
   detail.document.getElementsByTagName('body')[0].style.overflow='hidden';
   var b=detail.document.getElementById('cont');
   if(a.style.height != eval(b.offsetHeight+35)+'px') {
      a.style.height=eval(b.offsetHeight+35)+'px';
   }
}
//-->
</script>

</head>
<body>
<div id="header">
<img src="1024_01.gif"></img>
</div><!--Ende header-->

<div id="titel">
<img src="1024_02.gif"></img>
</div><!--Ende titel-->

<div id="navi">
<?php include ("1024_navi.html"); ?> 
</div> <!--Ende Navi-->


<div id="main">
<h1>Wilkommen auf unserer Homepage</h1>
<img src="1024_06.png"></img>
</div> <!--Ende main-->    
    



<div id="right">
<?php include ("tsviewer.html"); ?>
</div> <!--Ende right-->

</body>
</html>

wäre klasse wenn einer ne lösung parat hat
 
Werbung:
Liegt wohl am unvollständigen Code.

Die Funktionen in request.js werden nirgendwo benutzt, ebenso die Funktion pruefe(). Auch sehe ich keinen Hinweis auf output.php

Wenn Du allerdings Deine Seiteninhalte per Ajax austauscht, um keine neue Seite laden zu müssen, dann lass mich Dir sagen, dass das eine Lösung ist, die noch umständlicher und nutzerunfreundlicher ist, als Frames!
Frames funktionieren auch bei abgeschaltetem JavaScript. Bei Frames hat wenigstens jeder Seitenzustand eine eigene URL. Beim Seitenladen per Ajax haben die unterschiedlichen "Seiten" nichtmal mehr eine eigene URL.

Ich für meinen Teil verstehe nicht, warum Du es Dir so schwer machst. Lass mit jedem Link eine neue Seite laden, nutze serverseitiges include und fertig ist die barrierefreie, nutzerfreundliche Website.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben