鍍金池/ 問答/HTML/ js 入棧和出棧

js 入棧和出棧

clipboard.png
修改scrollTop無效,因為是淺拷貝吧,指定的是一個值,與原來的對象無關了,請問該怎么寫。

回答
編輯回答
幼梔

var scrollTop = ...寫在定時器里面

2017年5月4日 18:35
編輯回答
墨小白

都有getter和setter你取值是取出來了值。setter才是修改實際內容。你對你的變量修改跟原有的setter沒關系。


const realScroll = [
  [document.body, 'scrollTop'],
  [window, 'pageYOffset'],
  [document.documentElement, 'scrollTop']
];
const len = realScroll.length;
let time = setInterval(function() {
  let i = 0,
      getter = function() {
        return realScroll[i][0][realScroll[i][1]];
      },
      setter = function(v) {
        realScroll[i][0][realScroll[i][1]] = v;
      },
      top;
  for (; i < len; i++) {
    top = getter();
    if (top) {
      setter(top - 200);
      if (top <= 0) {
        clearInterval(time);
      }
    }
  }
});
2018年8月23日 09:23
編輯回答
枕邊人
 function scroll() {
            return {
                top: window.pageYOffset || document.documentElement.scrollTop,
                left: window.pageXOffset || document.documentElement.scrollLeft
            }
        }

scroll().top

2018年8月6日 09:35