2016-05-12 5 views
0

sagen, dass ich einen Link zu gehen, der sagt:Wie eine Verbindung zu bekommen, um einen bestimmten div auf einer anderen Seite

<a href="services">Services</a>

Wenn ich auf diesen Link ich natürlich wollen Seite an die Dienste gehen, Aber was ich herausfinden möchte ist, wie ich diesen Link bekommen kann, um mich zu einem bestimmten Abschnitt auf dieser Seite zu bringen.

Die Sache ist, die Seite, die ich einen bestimmten Abschnitt zeigen möchte, wird es nicht zeigen, es sei denn, ich triff einen Tab. So sieht meine Serviceseite aus. Sie werden sehen, wenn Sie auf eine Registerkarte klicken, wird ein bestimmter Abschnitt angezeigt.

https://jsfiddle.net/esayoaqg/1/

Wenn ich auf einen Link auf Service 1, unter Bezugnahme geklickt möchte ich die Verbindung zum Service-Seite zu gehen und die div #service1 zeigen.

Wie kann ich das tun?

<a href="serviceCheck1#service1">Service 1</a> 
<a href="serviceCheck1#service2">Service 2</a> 
<a href="serviceCheck1#service3">Service 3</a> 

$(function(){ 

    //get the section name from hash 
    var sectionName = window.location.hash.slice(1); 

    //then show the section 
    $('#service-display-box').show(); 
    //$('#' + sectionName).show(); 
    $('#service' + sectionName).show().siblings().hide(); 
}) 
+0

Wer auch immer sagt, diese Frage bereits eindeutig zu beantworten ist nicht diese vollständig gelesen haben. Der Abschnitt, den ich anzeigen möchte, ist nicht sichtbar und erfordert das Klicken auf eine Schaltfläche, um ihn anzuzeigen. – Becky

Antwort

3

Sie Hash-Zeichen # verwenden:

<a href="services#service1">Services</a> 

//services.html 
<div id="service1">...</div> 

AKTUALISIERT:

wenn Sie Auto einen Abschnitt zeigen, nachdem Seite geladen ist, Sie so etwas wie tun könnte:

$(function(){ 

    //get the section name from hash 
    var sectionName = window.location.hash.slice(1); 

    //then show the section 
    $('#' + sectionName).show(); 
}) 
+0

Wird dies div zeigen, da es versteckt ist? Du wirst auch in meiner Geige sehen, dass ich auch die '# Service-Display-Box 'zeige, wenn jemand auf die Knöpfe oben klickt. Gibt es das überhaupt, um das von einem Link zu zeigen? – Becky

+0

Bitte sehen Sie meine Updates zu zeigen, wie versteckte div nach der geladenen Seite automatisch anzeigen – MarkoCen

+0

Könnte ich dies pro Abschnitt ändern Ich habe oder wird es nur funktionieren, um eine Sektion autoshow? Ich werde immer die 'Service-Display-Box' automatisch anzeigen lassen müssen. ie: Wenn der service1-Link angeklickt wird, muss der service1-Bereich angezeigt werden und so weiter. – Becky

0

Sie können

verwenden

und verwenden Sie dann eine Show Inhalt blättern oder Fensterposition basiert ..

Höchstwahrscheinlich werden Sie Javascript der Sorten brauchen um es zu bekommen, wie Sie wollen.

0

Sie können einen Anker verwenden, aber das versteckte Element wird nicht sichtbar gemacht.

Sie müssen Javascript hinzufügen, um es anzuzeigen. in Ihrer Geige am Beispiel Basierend, wäre es wie folgt:

var index = location.hash.indexOf('#service'); 
if(index > -1) { 
    var serviceId = parseInt(location.hash.substring(index)); 
    if(serviceId) { 
     $('#service-display-box').show(); 
     $('#service' + serviceId).show().siblings().hide(); 
    } 
}