2017-04-11 48 views
-1

我显示了每个页面的url路径,显示了用户的确切位置。就像用户进入家庭 - >移动 - >设计那样,我会显示像“家庭/移动/设计”这样的用户路径。一切工作正常,但对于移动我必须隐藏家和设计之间的内容,如家/.../设计。我不知道如何实现这一点。有人可以帮助....感谢您的帮助提前。用椭圆替换网址

+0

寻求调试帮助的问题(“为什么不这样做,或者如何使这个代码工作?”)必须包含所需的行为,特定的问题时间或错误以及在问题本身中重现问题所需的最短代码。 – LGSon

+0

为什么你必须隐藏部分路径?如果他们看不到整条道路,甚至有什么意义,因为这对他们根本没有帮助。 – Slime

回答

3

编辑:

与切换内容的新的例子:

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/

该代码会做你想要什么:

var url = 'home/mobile/design'; 

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

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

该代码将占到另一个变种同样,如果你有更多的“部分”在里面会只取第一个和最后一个:

home/some/deep/section/goes/here 

结果:

home/.../here 

你可以用它玩,并对其进行修改以满足您的特定需求,当然。

希望它有帮助!

小提琴: https://jsfiddle.net/2mq0dwbd/

+0

谢谢!它按预期工作。但我怎样才能使这个椭圆可点击。我的意思是当我点击椭圆(...)时,它应该展开整个url路径 –

1

如果你不想使用片/串,你可以使用正则表达式导致较少代码量:

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

它也适用于不同版本:

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