1

わかりましたので、私のユーザーはASP.NETには存在しない複数選択ドロップダウンリストを必要としているので、私が行っている簡単な解決策は、複数選択をオンにしてリストボックスを使用していて、サイズ1で開始することです、そして onmouseover サイズを 10 に変更すると、onmouseout はそれを 1 に戻します。十分に単純で、ユーザーは違いを知りません。

さて、私の問題は、Web アプリに任意の数のコントロールがあるため、これらのリストボックスを他のコントロールよりも高い z-index 番号に設定したため、問題が発生しました。リストボックスの一番下に近いページのリストは上ではなく下に展開され、リストボックスの一部はページの下部に移動しますが、onmouseout がリストボックスのサイズをリセットするため、ページを下にスクロールできません。

下ではなく上に拡大するために何を設定する必要があるか知っている人はいますか?

編集また、「リストボックスをページのより高い位置に再配置してみませんか」と尋ねる人もいるかもしれませんが、これが実行可能なオプションではない理由は、ページに 40 をはるかに超えるコントロールがあり、それらがグループ化されているためです。まとめると、ランダムに配置したわけではありません (つまり、あるセクションに投資情報、別のセクションにアカウント、別のセクションに適合性など)。

4

1 に答える 1

1

編集: 以下の jQuery バージョンはよりコンパクトで、私の意見では、より簡単に理解できることに注意してください。

Glo、あなたが現在持っているコードはここで役に立ちます。特に、私たちが提供するものを変更したり、私たちが説明するものを実装したりするのは難しいようです. とにかく、これは IE7、Firefox、および Opera で意図したとおりに機能します。Safari と Chrome は風変わりです: http://jsfiddle.net/bUFzq/35/ ( http://www.plus2net.com/html_tutorial/html_frmddl.phpから変更)。

CSS は、デフォルトの配置に対して選択を配置可能にするだけです。要素は、他の配置された要素に対してのみ配置できます。「位置: 相対;」絶対および固定とは異なり、移動するまで要素を元の場所に残します。また、最も近くに配置された先祖のエッジを基準にして配置されます。(IT 業界には、Y を上向きではなく下向きにするという不幸な慣習があります。頭を上げたり下げたりするだけです。)

element.offsetHeight は、要素の計算された高さ (画面に表示される大きさ) です。element.style.bottom (従兄弟の top、left、right と同様) は、要素の中心の方向で、対応するエッジからの要素のオフセットを設定します。setAttribute は一目瞭然です。実際に HTML を編集しているかのように機能します。 element.styleのほとんどのプロパティ(他のすべてのオブジェクトにはありません) は、同様の名前の CSS プロパティを表し、変更します。たとえば、element.style.backgroundColor は background-color プロパティを設定します。

addEvent は、Dustin Diaz のRock Solid addEvent()からコピーされた関数です。これは、ブラウザーがイベントの実行方法についてあまり同意していないためです。ただし、単一のスクリプト領域内で作業していなければ、彼のスクリプトを別のファイルに入れ、私のスクリプトをさらに別のファイルに入れていたでしょう。「var addEvent = init();」を実行しました 良いコードの良い例ですが、彼のソースをスクロールする必要がないように。

mouseover と mouseout は実際のリスナーで、applyを使用して明示的に呼び出されます。1) 後でその高さの値が必要だったため、2) 何らかの理由で (少なくとも jsFiddle 内で) 正しい位置で開始されず、リスナーはその順序で呼び出され、そこに到達します。

于 2011-03-16T01:25:07.213 に答える