YuzuruSano / static_html_skelton

【社内向け】静的htmlコーディング用の雛形まとめ
1 stars 3 forks source link

Spnaviについて、質問があります #24

Open hltree opened 4 years ago

hltree commented 4 years ago

内容

下記の通り、close時にanimateでopen時のスクロール位置に移動しているようなのですが、

$("body,html").animate({ scrollTop: this.current_scrollY }, 1);
$("body").attr({ style: "" });

animateで動かしているので、下記のような動作になります。

https://gyazo.com/bb4eeb9b082fb4a12558cac98aeef9e3

this.current_scrollY に位置は保持されているので、下記のような動作でも良いのかなと思ったのですがいかがでしょうか。

$("body").attr({ style: "" });
$(window).scrollTop(this.current_scrollY);

animateに何か意図があれば教えて頂きたいです。

よろしくお願いします!

hltree commented 4 years ago

すみません

変更後のコード、変更前に合わせて windowbody,html に変更です。

$("body").attr({ style: "" });
$("body,html").scrollTop(this.current_scrollY);
YuzuruSano commented 4 years ago

@hltree うっす、確認ありがとう〜 ここなんだけど、animateで動作に1を明示しないと動作しないケースがあったのと なんかあったときにコールバックで関数実行する逃げ道を作りたかったんだよね。 なので対象ブラウザ全般で動作するのであれば提案の内容でも問題ないっす!

ただこの処理自体が結構場当たり的対応で、 クラス内に処理があることで柔軟性にかける且つメンテしづらいんだよね。 close時の実行に外部から関数を与えられるような処理に修正するのが理想だとは思う。

hltree commented 4 years ago

@YuzuruSano

ありがとうございます。

なるほどです。。 検証はまだ足りてないので、エンジニアチーム内の方に手元で何か良い修正をしていないかアナウンスかけてみます!

YuzuruSano commented 4 years ago

@hltree うっす、ありがとう〜! 僕としては可変引数でclose()へ関数を注入できるような感じに改修できればーと思ってるので、 また興味があれば手伝ってもらえると嬉しいす