問題タブ [scroll]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScriptでコストのかかるスクロールを管理する最良の方法は?
メイン UI には、JavaScript を使用してブラウザーからのスクロール イベントに応答する UI ウィジェットがあります。各スクロール イベントへの応答は比較的高価です。ユーザーは、最初のいくつかがウィジェット内で処理およびレンダリングされている間に、大量のスクロール イベントを簡単に「キューに入れる」ことができます。
これに伴う問題は、ウィジェットが最終的に「スクロール処理の煉獄」に行き着き、そこで各増分中間スクロール イベントが処理およびレンダリングされることです。
例: ユーザーは ab、次に bc、次に de、次に ef などとスクロールしました。スクロール イベント処理は、ユーザーが yz イベントをトリガーするまでに、bc スクロールのレンダリングにまだ取り組んでいる可能性があります。
代わりに、これらのイベントをよりインテリジェントに管理したいと考えています。スクロール イベントの結果をレンダリングしてから、ユーザーがどこにいても「追いつき」、時代遅れになった中間スクロールをスキップできれば素晴らしいことです。
これを行う最善の方法は何ですか?
silverlight - Silverlight 2.0 - 垂直方向にスクロールし、水平方向に折り返す
シルバーライト2.0で。垂直方向にスクロールして水平方向に折り返したいコンテンツがあります。コントロールにはドックパネルがあります。それを埋めるDockPanelの最後の子は、ScrollViewerです
TextDisplay コントロールの XAML は次のようになります。
私がしたいこと: TextDisplay はコントロールのメイン領域を占有し、高さが合わない場合は垂直スクロールバーを表示する必要があります。メッセージが横方向に長くなりすぎると折り返す必要があります。
スクロールは機能しますが、メッセージが右端で折り返されません。彼らはただ断ち切りました。幅を制限するのではなく、HorizontalScrollBar を非表示にするだけです。HorizontalScrollBarVisibility="Auto" を設定すると、右にスクロールして表示されます。強制的にラップするにはどうすればよいですか?
scroll - Symbian S60 - CEikLabel 内のテキストのスクロール
テキストをスクロールする必要がある単一行の CEikLabel がアプリケーションにあります。
頭に浮かぶ単純な解決策(しかしおそらく素朴な)は、次のようなものです..
CPeriodic クラスをタイマーとして使用し、更新ごとに label.DrawDeferred() を使用します。
これが最善の方法だと思いますか?ラベルを 1 秒間に 2 ~ 3 回再描画するのはかなり非効率的かもしれません..しかし、他の方法はありますか?
ありがとう :)
delphi - DelphiでスクロールするときのDBGridの表示位置
フォームに DBGrid があります。DBGrid には多くの列があるため、水平スクローラーが表示されます。DBGrid ビューを右にスクロールして、さらに列を表示します。行を選択すると、DBGrid ビューが自動的にリセットされ、最初の列が表示されます (一番左の位置にスクロールして戻るように)。
それを防ぐ方法はありますか?
javascript - ウィンドウのマウスホイールのスクロールを抑制するにはどうすればよいですか...?
ページに埋め込まれたキャンバス アプリに取り組んでいます。マウスホイールで図面を拡大できるようにしていますが、記事の一部であるため、残念ながらページがスクロールされます。
DOM要素でマウスホイールを動かしているときに、ウィンドウでマウスホイールのスクロールを防ぐことはできますか?!
javascript - ウィンドウにレンダリングされた div を検出して、Google リーダーのような自動既読マークを実装しますか?
Google リーダーを使用して「拡張」ビューで RSS エントリを閲覧している場合、div の特定の割合が画面に表示されると、エントリは自動的に「既読」としてマークされますGoogleリーダー)。そのため、1 行ずつ下にスクロールすると、JavaScript コードは、a) エントリが表示されているウィンドウにレンダリングされていること、b) 一定量が表示されていること、およびこれらの条件が満たされると、状態が読み取りに切り替えられることを判断できます。 .
その機能がどのように実装されているか知っている人はいますか? 具体的には、div がスクロールして表示されているかどうか、div のどれだけが表示されているかを知る方法を知っている人はいますか?
余談ですが、私はjQueryを使用しているので、誰かがjQuery固有の例を持っていれば、非常に感謝しています.
wpf - WrapPanelにスクロールバーを追加する
WPFのラップパネルコントロールにスクロールバーを追加するにはどうすればよいですか。スクロールバーがないため、一部のコントロールが幅を切り取っています。
css - Firefoxのオーバーフロー:スクロールサイズ変更の問題
Firefoxの場合......
IDが「content」のdivはそれよりも幅が広いため、「container」DIVにはスクロールバーが必要です。
JavaScript(以下を参照)を使用して、「content」divのサイズを「200px」にリセットすると、div「container」のスクロールバーが消えると予想されます。ブラウザウィンドウのサイズを手動で変更しない限り、それらはできません。
cssクラスを適用して、コンテナーにリフローを強制してみました。これはうまくいきませんでした...
javascript - 成長するページの一番下に自動スクロールするJavascriptメカニズム?
うまくいけば、これはJavascriptの時間が遅れている人にとって簡単な答えになるでしょう...
接続されているブラウザーにログアウトの新しい行をフィードするスクリプトによって監視されているログ ファイルがあります。何人かの人々が、見たいのはもっと 'tail -f' 動作であるとコメントしています - 閲覧者が何かを見るために上にスクロールするまで、最新の行は常にブラウザーページの一番下に表示されます。一番下までスクロールすると、自動スクロール動作に戻ります。
これに対する私の Google ストライクアウトは、うまくいけば、javascript についてまったく知らないため、検索するキーワードがわからないという問題です。完全な解決策は必要ありません。飛び込んで手を汚すことができる「十分に近い」だけです。
編集:
scrollTop/scrollHeight のアイデアを試してみましたが、明らかに何かが欠けています。私は Javascript でほとんど何もしていないので、ここでも非常に低レベルの質問をしている可能性があります。
これは多くの順列の 1 つでした。明らかに、javascript でログを 1 行ずつ出力することはできませんが、正しい動作を確認しようとしているだけです。ここで必要なミッシングリンクは何ですか?
もう一度編集: これは、私が最初に予想したよりもはるかに興味深い問題になりました。window.scroll を使用したコードの提案はうまくいきます。ブラウザがドキュメントの一番下にあるときにのみスクロールが行われるように制限することから始めました。これは理論的には簡単に実行できますが、実際には問題が発生します。
サーバーから新しいテキストを取得するたびに、本文のサイズが大きくなり、現在のスクロール位置がドキュメントの下部ではなくなります。(scrollHeight、clientHeight、scrollTop を使用して) ユーザーが上にスクロールしたのか、それともテキストがビューを超えたのかを区別することはできなくなりました。
これが機能する場合は、ユーザーがスクロールしたときに発生し、ウィンドウの下部より上にある場合はスクロールをオフにする JS イベントを持つことに専念する必要があると思いますが、それらは、実際にはビューの一番下にあるポイントまでスクロールダウンしています。私は onScroll イベントを見ていますが、私が言及した変数の計算がかなりうまくいっていることを考えると、私はここで正しい道を進んでいると思います。ご意見ありがとうございます。
wpf - Windows Forms Listbox TopIndexに相当するWPF ListBoxはありますか?
基本的に私がやりたいことは、ユーザーが文字列値を入力できるようにし、入力したテキスト (または最初の LIKE 一致) に一致する項目までリスト ボックスをスクロールさせることです。
.ScrollIntoView() メソッドを使用する場合、問題は、アイテムが現在のスクロール位置よりもリスト内でさらに下にある場合、アイテムが表示領域の一番下に配置され、それが高い場合は一番上に配置されることです。現在のスクロール位置よりもリスト内。リストの一番上のアイテムにすることで、一貫性を持たせたいと思います(もちろん、アイテムの最後の「ページ」の1つであることが原因ではない場合を除きます)。
xが表示されている項目の数であるリストのさらに下にある項目を選択して、それを偽造しようとしました。これは下降時には機能しますが、上昇時には壊れます。また、リストの一番上に表示されているインデックスが現在どのインデックスであるかを判断できませんでした。
WinForms リスト ボックスには、探しているものとまったく同じ .TopIndex プロパティがありますが、WPF に相当するものを見つけることができませんでした。誰でもこれを達成する方法を知っていますか?
前もって感謝します!