错误说明:在切换路由以后,依旧在其他页面触发了scroll有关的函数,
错误原因:在spa项目中,window对象是不变的,所以每次使用后需要销毁。
解决办法:vue的生命周期destroyed中销毁就可以了
js方法封装:
export default { //移动端iframe缩略图滚动后固定定位 iframeScroll:{ scrollFun:function(){ //滚动执行的方法 var top = $(document).scrollTop(); if(top >=95){ $(".step_global .iframe_box").addClass("fixed"); }else{ $(".step_global .iframe_box").removeClass("fixed"); } }, fixed:function(){ window.addEventListener('scroll',this.scrollFun); }, //window.scroll需要销毁 destroy:function(){ window.removeEventListener('scroll',this.scrollFun) } }, }
引入:
import common from '../../script/common';
使用:
mounted(){
common.iframeScroll.fixed();
},
destroyed(){
common.iframeScroll.destroy();
},