定义一个全局变量,自动变换了值

我在全局定义一个变量scrollIndex
clipboard.png
(图1点击事件)
来控制实现
clipboard.png
(图2,左侧点击,触发右侧自动滑到对应的位置;右侧鼠标滑动界面,左侧灰色区域自动显示在对应区域)
点击左侧栏和右侧鼠标滑动页面互相控制的一个效果。
但是发现代码先执行了

clipboard.png
(图3,滑动监听,通过监听识别当前为哪块区域,以便左侧灰色区域显示在对应的区域)

然后再执行的

clipboard.png
(图4,点击触发,让右侧界面滑到对应的区域的方法)

按照理论应该是:点击事件执行(图1)赋值scrollIndex为1,然后执行(图4),当滑动结束后scrollIndex重新被赋值为-1,然后再执行(图3)。scrollIndex被赋值为-1的地方只有(图1)的初始化赋值和(图4)的赋值。但是什么原因导致scrollIndex的值被改为了-1。求大神指点...

阅读 2.2k
4 个回答

没懂,你声明的时候不就赋值-1了吗

你给的信息不太够,应该是逻辑错误,有个简单的方法,你用Proxy或其它什么鬼的getter函数之类的把对scrollIndex的修改拦截下来,加个判断if(oldValue != '-1' && newValue == '-1')的判断,底下是空操作,然后给空操作加断点,这样一来一旦scrollIndex被从非'-1'的值改为'-1'就会停下,然后再去看调用栈。或者你就干脆别加断点一步一步暴力追踪进去,只要肯花时间肯定调试得出来。

var a = "asd";
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题