# Linkanker mit JQuery verarbeiten



## djnijo (1. November 2012)

HI@all ich bin neu Hier und habe ein kleines Problem mit PHP und Linkverarbeitungen.

Ich würde gerne versuchen eine Website in diesem Stiel mit der Inhaltänderung wie hier " http://roshanbh.com.np/examples/content-move/index.html "  umsetzen.

Der inhalt wird mit den Textankern #Home und so weiter geändert. Wie kann ich jetzt zum beispiel den Textanker #Home mit php Verarbeiten wenn jemand auf die Websiten mit einem link "domain.com#Home" zugreift. Das Ziel des ganzen ist das man einen link Kopieren Kann und Trotzdem auf den Richtigen inhalt gelangt.


----------



## Yaslaw (1. November 2012)

Das Problem dieser Seite ist, dass dahinter Javascript steht dass das ganze handelt.

```
<script type="text/javascript">
<!--//---------------------------------+
//  Developed by Roshan Bhattarai 
//  Visit http://roshanbh.com.np for this script and more.
//  This notice MUST stay intact for legal use
// --------------------------------->
$(document).ready(function()
{
	//hide the all div except first one
	$('.msg_body:not(:first)').hide();
	//when the anchor is clicked content gets faded
	$("a.linkclass").click(function()
    {
		$('.msg_body').fadeOut("slow");
		$($(this).attr("href")).fadeIn("slow");
	});
	
});
</script>
```

Darum wird auch der Link 'http://roshanbh.com.np/examples/content-move/index.html#service' nicht zum Service weitergeleitet.

Aber du kannst mit javascript den Anker auslesen und entsprechend dein Script anpassen
http://www.ajax-community.de/javascript/4219-anker-js-auslesen.html#post20804


----------



## djnijo (1. November 2012)

Danke schon mal für die Antwort.

wenn ich das jetzt richtig Verstanden habe, muss ich das script dann einfach umbauen.
irgendwas in dieser richtung wie hier:

```
<script type="text/javascript">
<!--//---------------------------------+
//  Developed by Roshan Bhattarai 
//  Visit http://roshanbh.com.np for this script and more.
//  This notice MUST stay intact for legal use
// --------------------------------->
$(document).ready(function()
{
       hash=  document.location.hash.substr(1);
 if(hash == ""){
	//hide the all div except first one
	$('.msg_body:not(:first)').hide();
 }
else{ 
        Funktion zum laden des inhalts in das div;
}


	//when the anchor is clicked content gets faded
	$("a.linkclass").click(function()
    {
		$('.msg_body').fadeOut("slow");
		$($(this).attr("href")).fadeIn("slow");
	});
	
});
</script>
```

Jetzt müsste ich im grunde ja nur noch wissen wie ich das Script ausführen kann um den gewünschten inhalt zu laden.


----------



## Yaslaw (2. November 2012)

Ich würde das so lösen

```
$(document).ready(function(){
	var anchor =  document.location.hash; 
	if(anchor != ''){
		//hide all div except this from the anchor
		$('.msg_body').hide();
	    $(anchor).show();
	}else{
		//hide the all div except first one
	    $('.msg_body:not(:first)').hide();
	}
	//when the anchor is clicked content gets faded
	$("a.linkclass").click(function()
    {
		$('.msg_body').fadeOut("slow");
		$($(this).attr("href")).fadeIn("slow");
	});
	
});
```

Nachtrag: Hab das ganze mal ins Javascript-Forum verschoben


----------



## djnijo (2. November 2012)

Ich hab das ganze gerade mal getestet, funktioniert auch soweit ganz gut. nur wenn ich den link Manuel in die Adressleiste eingebe, oder über die Navigationstasten (vor / Zurück) des Browsers die Seite wechsel, funktioniert das noch nicht. erst nach einer aktualisierung.
Wie könnte man das beheben?


----------

