Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
tswj
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
hookehuyr
2022-05-16 08:48:04 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
bd172bc41e33cb6c85bfd23d5231e8a04f681265
bd172bc4
1 parent
32d84280
✨ feat: 重写返回点击位置功能
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
47 deletions
src/views/client/bookDetail.vue
src/views/me/collection.vue
src/views/me/like.vue
src/views/me/unwatchList.vue
src/views/client/bookDetail.vue
View file @
bd172bc
...
...
@@ -66,6 +66,7 @@
</template>
</van-list>
</div>
<div style="height: 2rem;"></div>
<van-empty v-if="emptyStatus"
class="custom-image"
:image="no_image"
...
...
@@ -308,25 +309,31 @@ onActivated(() => { // keepAlive 重置后执行回调
})
// 触发更新
prod_list.value = arr.value;
/**
* 判断微信环境
*/
if (wxInfo().isiOS || wxInfo().isAndroid) {
// TAG: 手机微信浏览器位置变动了,需要手动调整位置,但是无刷新是起作用的
const { scrollTop } = storeToRefs(store);
if (scrollTop.value) {
$("html,body").animate({ "scrollTop": scrollTop.value })
const { scrollTop } = storeToRefs(store);
// 嵌套滚动,执行两个,先滚外面再滚里面
_.times(2, () => {
$("html,body").animate({ "scrollTop": String(scrollTop.value) + 'px' });
});
// 监听记录滚动位置
window.addEventListener('scroll',()=>{
if (window.scrollY) {
store.changeScrollTop(window.scrollY)
}
window.addEventListener('scroll',()=>{
if (window.scrollY) {
store.changeScrollTop(window.scrollY)
}
});
}
});
// 更新页面名称,因为不刷新副作用~
document.title = $route.meta.title;
});
// 监听记录滚动位置
window.addEventListener('scroll',()=>{
if (window.scrollY) {
store.changeScrollTop(window.scrollY)
}
});
/*********************************************************/
</script>
...
...
src/views/me/collection.vue
View file @
bd172bc
...
...
@@ -16,6 +16,8 @@
import VideoCard from '@/components/VideoCard/index.vue'
import Cookies from 'js-cookie'
import no_image from '@images/que-shuju@2x.png'
import { mainStore } from '@/store'
import { storeToRefs } from 'pinia'
import { ref } from 'vue'
import axios from '@/utils/axios';
...
...
@@ -24,18 +26,19 @@ import $ from 'jquery'
import _ from 'lodash'
/******************** 返回点击位置 ********************/
window.addEventListener('scroll', () => {
const store = mainStore();
const { scrollTopCollection } = storeToRefs(store);
// 嵌套滚动,执行两个,先滚外面再滚里面
_.times(2, () => {
$("html,body").animate({ "scrollTop": String(scrollTopCollection.value) + 'px' });
});
// 监听记录滚动位置
window.addEventListener('scroll',()=>{
if (window.scrollY) {
Cookies.set('scrollTopCollection', window.scrollY);
store.changeScrollTopCollection(window.scrollY)
}
})
const scrollTopCollection = Cookies.get('scrollTopCollection') ? Number(Cookies.get('scrollTopCollection')) : 0;
if (scrollTopCollection) {
setTimeout(() => {
$("html,body").animate({ "scrollTop": scrollTopCollection })
}, 500)
}
});
/*****************************************************/
// 处理书籍下作品列表
...
...
src/views/me/like.vue
View file @
bd172bc
...
...
@@ -16,6 +16,8 @@
import VideoCard from '@/components/VideoCard/index.vue'
import Cookies from 'js-cookie'
import no_image from '@images/que-shuju@2x.png'
import { mainStore } from '@/store'
import { storeToRefs } from 'pinia'
import { ref } from 'vue'
import axios from '@/utils/axios';
...
...
@@ -24,18 +26,19 @@ import $ from 'jquery'
import _ from 'lodash'
/******************** 返回点击位置 ********************/
window.addEventListener('scroll', () => {
const store = mainStore();
const { scrollTopLike } = storeToRefs(store);
// 嵌套滚动,执行两个,先滚外面再滚里面
_.times(2, () => {
$("html,body").animate({ "scrollTop": String(scrollTopLike.value) + 'px' });
});
// 监听记录滚动位置
window.addEventListener('scroll',()=>{
if (window.scrollY) {
Cookies.set('scrollTopLike', window.scrollY);
store.changeScrollTopLike(window.scrollY)
}
})
const scrollTopLike = Cookies.get('scrollTopLike') ? Number(Cookies.get('scrollTopLike')) : 0;
if (scrollTopLike) {
setTimeout(() => {
$("html,body").animate({ "scrollTop": scrollTopLike })
}, 500)
}
});
/*****************************************************/
// 处理书籍下作品列表
...
...
src/views/me/unwatchList.vue
View file @
bd172bc
...
...
@@ -58,20 +58,25 @@ onActivated(() => { // keepAlive 重置后执行回调
})
// 触发更新
prod_list.value = arr.value;
/**
* 判断微信环境
*/
if (wxInfo().isiOS || wxInfo().isAndroid) {
// TAG: 手机微信浏览器位置变动了,需要手动调整位置,但是无刷新是起作用的
const { scrollTop } = storeToRefs(store);
if (scrollTop.value) {
$("html,body").animate({ "scrollTop": scrollTop.value })
const { scrollTop } = storeToRefs(store);
// 嵌套滚动,执行两个,先滚外面再滚里面
_.times(2, () => {
$("html,body").animate({ "scrollTop": String(scrollTop.value) + 'px' });
});
// 监听记录滚动位置
window.addEventListener('scroll',()=>{
if (window.scrollY) {
store.changeScrollTop(window.scrollY)
}
window.addEventListener('scroll',()=>{
if (window.scrollY) {
store.changeScrollTop(window.scrollY)
}
});
});
});
// 监听记录滚动位置
window.addEventListener('scroll',()=>{
if (window.scrollY) {
store.changeScrollTop(window.scrollY)
}
});
...
...
Please
register
or
login
to post a comment