質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
イベントハンドラ

マウスのクリックなどの特定の事象(イベント)が発生した時に実行される処理のことをイベントハンドラと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

306閲覧

画面サイズによってイベントのタイミングが変わってしまうのを修正したい

TakehiroShinmyo

総合スコア16

イベントハンドラ

マウスのクリックなどの特定の事象(イベント)が発生した時に実行される処理のことをイベントハンドラと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/05/28 04:23

現在作っているウェブサイトのでフッター付近になった時にサイドバーを非表示にしたいと思っています。
現在成功してはいるのですが画面の幅が変わった時などに非表示にするタイミングが大きく変ってしまい、統一したいと考えています。現在のjsは下記のようになっています。「single」という要素名に対象のdivのID名を格納しています。お力添えいただける方いましたら、よろしくお願い致します。

js

1$(window).on('scroll',function(){ 2 var doch = $(document).innerHeight(); 3 var winh = $(window).innerHeight(); 4 var bottom = doch - winh; 5 if(bottom*0.67 <= $(window).scrollTop()){ 6 $(single).css('display',"none"); 7 }else{ 8 $(single).css('display',"block"); 9} 10})

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

x_x

2019/05/28 04:51

強いてあげれば resize がないというところ以外特に問題があるように見えませんでしたが、どのような操作をした時が問題と考えていますか?
TakehiroShinmyo

2019/05/28 05:02

横幅が変ってしまった時にイベントが起きるタイミングが早くなったり遅くなったりしてしまうのです、何か手立てはありませんでしょうか?
guest

回答2

0

レスポンシブWebデザインの手法をつかってみるのはいかがでしょうか。
画面サイズを指定と条件を記載することで、統一にできるもしれません。
参考文献
https://sole-color-blog.com/blog/71/

投稿2019/05/28 04:50

編集2019/05/28 04:52
find

総合スコア39

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakehiroShinmyo

2019/05/28 05:17

なるほどですね、ご回答していただきありがとうございます! レスポンシブも入れて再定義したいと思います
guest

0

ベストアンサー

HTMLが記載されていないため、確認はできなかったのですが
おそらく下記のように修正すれば問題なく動作します。

js

1$(window).on('load resize scroll', function () { 2 var doch = $(document).innerHeight(); 3 var winh = $(window).innerHeight(); 4 var bottom = doch - winh; 5 if (bottom * 0.67 <= $(window).scrollTop()) { 6 $(single).css('display', "none"); 7 } else { 8 $(single).css('display', "block"); 9 } 10})

投稿2019/05/28 04:50

yasutomi

総合スコア2937

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakehiroShinmyo

2019/05/28 05:10

ありがとうございます。早速試してみたいと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問