提交 e3155bea 编写于 作者: guangjun.yang's avatar guangjun.yang

解决定位问题

上级 9415c442
...@@ -144,6 +144,10 @@ import { mapGetters, mapActions } from "vuex"; ...@@ -144,6 +144,10 @@ import { mapGetters, mapActions } from "vuex";
import vueFilters from "@/utils/filter"; import vueFilters from "@/utils/filter";
import { Toast } from 'vant'; import { Toast } from 'vant';
let cataOffsetTop = 0;
let intorOffsetTop = 0;
let titleOffsetHeight = 50;
export default { export default {
data() { data() {
return { return {
...@@ -363,53 +367,6 @@ export default { ...@@ -363,53 +367,6 @@ export default {
}); });
}, },
scrollFun() {
let scrollTop =
document.body.scrollTop || document.documentElement.scrollTop;
let h;
const catalogue = document.getElementById("catalogue-content");
const intro = document.getElementById("intro-content");
console.log(`scrollTop intor.offsetTop catalogue.offsetTop`, scrollTop, intro.offsetTop, catalogue.offsetTop);
// console.log(`catalogue.offsetHeight catalogue.offsetHeight`, catalogue.offsetTop, catalogue.offsetTop);
// const h = catalogue.offsetTop - 600;
// 显示头部导航
if (scrollTop > 20) {
this.isBlack = true;
this.bgColor = "#fff";
} else {
this.isBlack = false;
this.bgColor = "none";
}
// 如果滚动高度大于简介头部(并减去tab高度),则进行固定
if(scrollTop > intro.offsetTop - 60) {
this.fixedFlag = true;
} else {
this.fixedFlag = false;
}
// 如果如果滚动高度大于
if(scrollTop > catalogue.offsetTop - 600) {
this.tabFlag = false;
} else {
this.tabFlag = true;
}
// this.fixedFlag = scrollTop > 300 ? true : false;
// 中华医学会项目
// if(this.project.cmeType == 2) {
// h = catalogue.offsetTop - 520;
// this.fixedFlag = scrollTop > 280 ? true : false;
// } else {
// h = catalogue.offsetTop - 600;
// this.fixedFlag = scrollTop > 420 ? true : false;
// }
// this.tabFlag = scrollTop > h ? false : true;
},
// token是否失效校验 // token是否失效校验
checkToken() { checkToken() {
let _this = this; let _this = this;
...@@ -495,18 +452,56 @@ export default { ...@@ -495,18 +452,56 @@ export default {
handlerAction(data) { handlerAction(data) {
this.isShowDialog = false; this.isShowDialog = false;
}, },
scrollFun() {
let scrollTop =
document.body.scrollTop || document.documentElement.scrollTop;
let h;
console.log(`scrollFun scrollTop intorOffsetTop cataOffsetTop`, scrollTop, intorOffsetTop, cataOffsetTop);
// 显示头部导航
if (scrollTop > 20) {
this.isBlack = true;
this.bgColor = "#fff";
} else {
this.isBlack = false;
this.bgColor = "none";
}
// 如果滚动高度大于简介头部(并减去tab高度),则进行固定
if(scrollTop > intorOffsetTop - 75) {
this.fixedFlag = true;
} else {
this.fixedFlag = false;
}
// 如果滚动高度大于
if(scrollTop > cataOffsetTop - 600) {
this.tabFlag = false;
} else {
this.tabFlag = true;
}
// this.fixedFlag = scrollTop > 300 ? true : false;
// 中华医学会项目
// if(this.project.cmeType == 2) {
// h = cataOffsetTop - 520;
// this.fixedFlag = scrollTop > 280 ? true : false;
// } else {
// h = cataOffsetTop - 600;
// this.fixedFlag = scrollTop > 420 ? true : false;
// }
// this.tabFlag = scrollTop > h ? false : true;
},
// 锚点到简介 // 锚点到简介
jumpIntro() { jumpIntro() {
this.tabFlag = true; this.tabFlag = true;
this.fixedFlag = true; this.fixedFlag = true;
const intro = document.getElementById("intro-content"); console.log(`jumpIntro cataOffsetTop intorOffsetTop`, cataOffsetTop, intorOffsetTop);
const title = document.getElementById("content-title");
let h; let h;
if (this.isWeb) { if (this.isWeb) {
h = intro.offsetTop - title.offsetHeight; h = intorOffsetTop - titleOffsetHeight;
} else { } else {
h = intro.offsetTop - 85 - title.offsetHeight; h = intorOffsetTop - 85 - titleOffsetHeight;
} }
window.scrollTo(0, h); window.scrollTo(0, h);
this.isBlack = true; this.isBlack = true;
...@@ -515,19 +510,17 @@ export default { ...@@ -515,19 +510,17 @@ export default {
component_tag: `211#211007#${this.projectId}` component_tag: `211#211007#${this.projectId}`
}); });
}, },
// 锚点到目录 // 锚点到目录
jumpCatalogue() { jumpCatalogue() {
this.tabFlag = false; this.tabFlag = false;
this.fixedFlag = true; this.fixedFlag = true;
const catalogue = document.getElementById("catalogue-content"); console.log(`jumpCatalogue cataOffsetTop intorOffsetTop`, cataOffsetTop, intorOffsetTop);
const title = document.getElementById("content-title");
console.log(`catalogue.offsetTop title.offsetTop`, catalogue.offsetTop, title.offsetTop);
console.log(`catalogue.offsetHeight title.offsetHeight`, catalogue.offsetHeight, title.offsetHeight);
let h; let h;
if (this.isWeb) { if (this.isWeb) {
h = catalogue.offsetTop - title.offsetHeight; h = cataOffsetTop - titleOffsetHeight;
} else { } else {
h = catalogue.offsetTop - 75 - title.offsetHeight; h = cataOffsetTop - 75 - titleOffsetHeight;
} }
window.scrollTo(0, h); window.scrollTo(0, h);
this.isBlack = true; this.isBlack = true;
...@@ -536,6 +529,7 @@ export default { ...@@ -536,6 +529,7 @@ export default {
component_tag: `211#211008#${this.projectId}` component_tag: `211#211008#${this.projectId}`
}); });
}, },
// 获取项目详情 // 获取项目详情
getProjectParticularsV2() { getProjectParticularsV2() {
let _this = this; let _this = this;
...@@ -596,12 +590,18 @@ export default { ...@@ -596,12 +590,18 @@ export default {
}); });
} }
// 直接跳转 setTimeout( () => {
if(_this.project.jumpToContents) { cataOffsetTop = document.getElementById("catalogue-content").offsetTop;
setTimeout(() => { intorOffsetTop = document.getElementById("intro-content").offsetTop;
this.jumpCatalogue(); console.log('getProjectParticularsV2', cataOffsetTop, intorOffsetTop);
}, 200); // 直接跳转
} if(_this.project.jumpToContents) {
setTimeout(() => {
this.jumpCatalogue();
}, 200);
}
}, 200);
} }
//_this.showLoading = false; //_this.showLoading = false;
}); });
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册