Skip to content

Commit df3b97b

Browse files
committed
调整导航显示逻辑,通过鼠标位置预判区域
1 parent a8c13ef commit df3b97b

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

frontEnd/single-page/src/js/navigation.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -50,27 +50,30 @@ function init () {
5050
let isDarkened = false;
5151
let darkenClassName = 'darken';
5252
let useMethod;
53-
let lastScrollTop = 0;
53+
let scrollTop = 0;
54+
let mouseY = 1000;
5455

5556
function fixNavClass () {
56-
let scrollTop = getScrollTop();
57-
let isNeedDarken = scrollTop > distance;
58-
// let isNeedDarken = lastScrollTop > scrollTop && scrollTop > distance;
57+
let isNeedDarken = mouseY < 200 || scrollTop > distance;
5958
let isNeedChange = isNeedDarken !== isDarkened;
6059
if (isNeedChange) {
6160
isDarkened = isNeedDarken;
6261
useMethod = (isNeedDarken ? 'add' : 'remove') + 'Class';
6362

6463
utils[useMethod](nodeNav, darkenClassName);
6564
}
66-
lastScrollTop = scrollTop;
6765
}
6866

6967
window.onscroll = function () {
68+
scrollTop = getScrollTop();
7069
fixNavClass();
7170
clearTimeout(scrollDelay);
7271
scrollDelay = setTimeout(checkBackTop, 100);
7372
};
73+
window.onmousemove = function (e) {
74+
mouseY = e.clientY;
75+
fixNavClass();
76+
};
7477
utils.bind(nodeBackTop, 'click', function () {
7578
nodeBody.scrollTop = 0;
7679
});

0 commit comments

Comments
 (0)