2016-12-06 15 views
1

私のチームは拡張可能なボックスを使用して(Confluenceの)wikiの情報を集約しています。これはかなり標準的なものです。display:none/blockを使用しています。私はこれをブラウザの検索機能で動作させたいと思います。私は、max-heightを使ってコンテンツを隠すことに切り替えると、ブラウザが少なくともテキストを正しく見つけることがわかりましたが、その中に一致が見つかると折り畳みを展開して、探していなくなったら再折りたたみたいそれで。それを行う方法はありますか?折りたたみを展開するページの検索/検索

私は既にfocusselectionchangeイベントを利用してみました。私は、ジャンプやキーストロークのスクロールを追跡することができたと思いますが、それらのどちらも、折り畳みがクエリが見つかった場所であるかどうかを私に教えてくれません。

tl; drはブラウザの検出を検出する手段ですか?

更新:

var expand = document.querySelector('.expand'); 
expand.querySelector('.head').addEventListener('click', function(e) { 
//toggle a class .show on .expand 
}) 

そして、私のCSS:ここでは、コードがどのように見えるかのアイデアだ

.expand .body { 
    opacity: 0; 
    max-height: 0; 
    padding: 0 20px 0 40px; 
    transition: all .4s; 
} 
.expand.show .body { 
    max-height: 3000px; 
    opacity: 1; 
    padding: 10px 20px 20px 40px; 
} 
+0

いくつかのコードを追加してください。 –

+0

可能な複製[javascriptでページ検索で検出されたものを検出する方法はありますか?](http://stackoverflow.com/questions/6680213/is-details.html) –

答えて

0

実際にあなたが以下のようにたとえば、Ctrl + Fとしてキー押下の組み合わせを検出することができます

var map = {17: false, 70: false}; 
 
$(document).keydown(function(e) { 
 
    if (e.keyCode in map) { 
 
     map[e.keyCode] = true; 
 
     if (map[17] && map[70]){ 
 
      // FIRE EVENT YOU EVENT 
 
     } 
 
    } 
 
}).keyup(function(e) { 
 
    if (e.keyCode in map) { 
 
     map[e.keyCode] = false; 
 
    } 
 
});

+0

はい、でも折りたたみ可能なものの中に何かが見つかった場合は教えてくれません – Airhogs777

+0

また、ユーザーはCtrl + Fを押すのではなく、編集メニューから検索を選択します。 –

+0

はい、間違いなくそのような場合には役に立ちません。ウェブアプリを扱う際にこれらのことを制御することはできません。 –

関連する問題