2016-06-17 4 views
0

私が書こうとしていることで少し助けが必要です。私はコードを必要としません、ロジックのちょっとした助けです。画面が消えた場合は長いナビゲーションをトリミングしてください

だから私は、任意の時点で、その中にアンカーの数が異なる幅の異なることができることを、このナビゲーションを持っています。それが包装容器よりも長くなる場合、私はそれをトリミングし、 "..."を入れなければならず、ユーザーがドットをクリックすると、残りの項目はドロップダウンに表示されなければなりません。

今の[OK]を、しかし、ナビゲーションも粘着性です。そして、それが一番上にくると、私はロゴを減らし、時には言語セレクタもその幅から分けなければなりません。それが静的に戻るとき、私はそれを再び更新しなければならず、以前に整えた要素を表示しなければなりません。

私は幅から縮小しなければならないすべての「余分な」要素は、ウェブサイトのどこかにある特別なクラスや特別なものを持たないコンテナ、純粋なコンテンツ(CMSから来ています。変えられない)。

私はどんなタイプのヘルプにも感謝します!

ありがとうございます!

+0

あなたは答えのコードは必要ありませんが、あなたが助けが必要なん一部問題 – blonfu

+0

をよりよく理解するために、あなたは例を置くことができますか? – 4castle

+0

あなたの問題についてのより良い説明がなければ、試してみることができるもの:CSSで異なるセレクタを持つ要素を対象にすることはできますが、必ずしもクラスを持つ必要はありません。また、CSSやJavaScriptのテキストを切り詰める方法もあります。あなたは使い方が分かりません。 – Patrick

答えて

1

あなたはナビゲーションの大きさを知っていれば、私は次の手順が役立つかもしれないと言うだろう:

  1. は常に必要に応じて切り替えられ、隠されたクラスで、省略記号要素を持っています。 jQueryの$( 'navElement')を使用して
  2. 。オフセット()。左+ $( 'navElement')。あなたはNAVのための右端位置を取得する幅。
  3. この位置で要素を取得できます。Document.elementFromPoint()、
  4. この要素の後にあるすべての要素を識別するためには、このロジックを把握し、ブロックを表示して折り返さなければなりませんそれらのすべてがコンテナ内で動的に実行されます。
  5. このコンテナを非表示にすると、ドロップダウンの結果になります。
  6. 限り、あなたは、あなたがCSSセレクタを使用した場合、粘着性/非表示をtoshowするロゴやその他のコンポーネントを識別し、あなたのNAVは粘着性になったとき、あなたのNAVに親クラスを追加したときに粘着性のクラス内のこれらの要素を非表示にするには、CSSを書くことができるよう。私はあなたの質問に基づいて、幅広いレベルでたどるロジックです

関連する問題