2017-04-11 17 views
-1

ユーザーが正確にどこにいるかを示すすべてのページのURLパスを表示しています。ユーザーが家庭 - >携帯 - >デザインに来た場合のように、私は "家/携帯/デザイン"のようなユーザーパスを表示しています。すべてうまくいっていますが、モバイルでは自宅とデザインの間にコンテンツを隠す必要があります。私はどのようにこれを実装するか分からない。助けてもらえますか?事前にお手伝いいただきありがとうございます。URLを省略記号に置き換えます。

+0

質問デバッグヘルプ(「なぜこのコードは動作しないのですか?または作成する方法は?」)には、必要な動作、特定のproblエラーやそれを疑問そのものに再現するのに必要な最短のコードです。 – LGSon

+0

なぜパスの一部を非表示にする必要がありますか?彼らが全体のパスを見ることができない場合は、それが全く役に立たないので、それを持っていても何のポイントですか? – Slime

答えて

3

EDIT:コンテンツを切り替えると

新例:

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 

結果:のみ最初のと最後の1取るでしょう

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 
関連する問題