2017-04-11 3 views
-1

Ich zeige URL-Pfad für jede Seite, die zeigt, wo der Benutzer genau ist. Wie wenn der Benutzer nach Hause kam-> Mobile-> Design dann zeige ich Benutzerpfad wie "home/mobile/design". alles funktioniert gut, aber für mobile muss ich Inhalt zwischen Zuhause und Design wie zu Hause /.../Design verstecken. Ich bin mir nicht sicher, wie ich das umsetzen soll. Kann jemand helfen .... Danke für Ihre Hilfe im Voraus.Ersetzen Sie URL mit Ellipsen

+0

Fragen, die Debugging-Hilfe suchen ("Warum ist nicht, oder wie soll dieser Code funktionieren?") müssen das gewünschte Verhalten, ein spezifisches Problem enthalten em oder error und der kürzeste Code, der notwendig ist, um es in der Frage selbst zu reproduzieren. – LGSon

+0

Warum müssen Sie einen Teil des Pfades verstecken? Wenn sie den gesamten Weg nicht sehen können, was ist der Sinn, überhaupt etwas davon zu haben, weil es ihnen überhaupt nicht hilft? – Slime

Antwort

3

EDIT:

New Beispiel mit Makeln Inhalt:

var url = 'home/mobile/design'; 

var start = url.indexOf('/'); 
var end = url.lastIndexOf('/'); 
var finalString = url.substring(0,start+1) + '...' + url.substring(end, url.length); 

$('#myURL').text(finalString); 

$('#myURL').click(function(){ 
if(!$('#myURL').hasClass('toggle')){ 
    $('#myURL').text(url); 
    $('#myURL').addClass('toggle'); 
    }else{ 
    $('#myURL').text(finalString); 
    $('#myURL').removeClass('toggle'); 
    } 
}) 

https://jsfiddle.net/2mq0dwbd/1/

Dieser Code wird das tun, was Sie wollen:

var url = 'home/mobile/design'; 

var start = url.indexOf('/'); 
var end = url.lastIndexOf('/'); 

alert(url.substring(0,start+1) + '...' + url.substring(end, url.length)) 

Dieser Code wird für weitere Varianten Konto auch, wenn Sie mehr "Abschnitte" drin haben wi ll nur die erste nehmen und die letzte:

home/some/deep/section/goes/here 

Ergebnis:

home/.../here 

Sie mit ihm spielen können, und ändern Sie es Ihren besonderen Bedürfnissen gerecht zu werden, natürlich.

Hoffe es hilft!

Fiddle: https://jsfiddle.net/2mq0dwbd/

+0

Danke! Es funktioniert wie erwartet. Aber wie kann ich diese Ellipse als anklickbar machen? Ich meine, wenn ich auf die Ellipse (...) klicke, sollte der gesamte URL-Pfad erweitert werden –

1

Falls Sie nicht wollen, in Scheiben schneiden verwenden/String können Sie einen regulären Ausdruck verwenden, die in einer geringeren Menge an Code ergibt:

var test = 'home/mobile/design'; 
test.replace(/\/.*\//, '/.../'); // home/.../design 

Es funktioniert auch für andere Versionen:

var test2 = 'home/mobile/design/test'; 
test2.replace(/\/.*\//, '/.../'); // home/.../test