1
0
mirror of https://github.com/cotes2020/jekyll-theme-chirpy.git synced 2025-12-31 03:53:35 +00:00

Fix search results slow scrolling (#273)

also:
- improve its responsive design
- fix the js path in gulp
This commit is contained in:
Cotes Chung
2021-02-04 23:44:48 +08:00
parent 665a26e079
commit d948f84f99
8 changed files with 24 additions and 30 deletions

View File

@@ -17,14 +17,12 @@ $(function() {
const input = $("#search-input");
const hints = $("#search-hints");
/*--- Actions in small screens (Sidebar unloaded) ---*/
const scrollBlocker = (function () {
let offset = 0;
return {
block() {
offset = $(window).scrollTop();
offset = window.scrollY;
$("html,body").scrollTop(0);
},
release() {
$("html,body").scrollTop(offset);
@@ -35,6 +33,9 @@ $(function() {
};
}());
/*--- Actions in small screens (Sidebar unloaded) ---*/
const mobileSearchBar = (function () {
return {
on() {
@@ -60,11 +61,11 @@ $(function() {
return {
on() {
if (!visible) {
resultWrapper.removeClass("unloaded");
main.addClass("hidden");
visible = true;
// the block method must be called before $(#main) unloaded.
scrollBlocker.block();
resultWrapper.removeClass("unloaded");
main.addClass("unloaded");
visible = true;
}
},
off() {
@@ -75,12 +76,13 @@ $(function() {
}
resultWrapper.addClass("unloaded");
btnClear.removeClass("visible");
main.removeClass("hidden");
main.removeClass("unloaded");
// now the release method must be called after $(#main) display
scrollBlocker.release();
input.val("");
visible = false;
scrollBlocker.release();
}
},
isVisible() {