Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法指定元素的最后位置坐标_Javascript_Html_Function - Fatal编程技术网

Javascript 无法指定元素的最后位置坐标

Javascript 无法指定元素的最后位置坐标,javascript,html,function,Javascript,Html,Function,这个问题很奇怪。我必须通过scrollEvent滚动容器块,直到用鼠标左键单击元素滚动器,来获取blocks.scrollTop的最后高度 所以,我捕获的blocks.scrollTop的最后一个高度没有任何问题,并将其放入全局变量lastCoordY中。但在最后一步中,当我需要将页面滚动回lastCoordY位置时,首先单击if of clickEvent,blocks.scrollTop不希望断言lastCoordY值,而是添加0 var lastCoordY; var scrollerC

这个问题很奇怪。我必须通过scrollEvent滚动容器块,直到用鼠标左键单击元素滚动器,来获取blocks.scrollTop的最后高度

所以,我捕获的blocks.scrollTop的最后一个高度没有任何问题,并将其放入全局变量lastCoordY中。但在最后一步中,当我需要将页面滚动回lastCoordY位置时,首先单击if of clickEvent,blocks.scrollTop不希望断言lastCoordY值,而是添加0

var lastCoordY; var scrollerCH; var scrollerST; CrolleEvent、scrollerCH、onScroll上的函数{ scrollerCH=blocks.clientHeight; scrollerST=blocks.scrollTop; 如果scrollerST>=scrollerCH{ scroller.classList.remove'down'; scroller.classList.add'up';
}否则,如果scrollerST您的问题是更改blocks元素的scrollTop值将触发scroll事件。这意味着在click事件之后,页面将上升到scrollTop:0,scrollTop已设置回0

这不是问题,只有在单击事件中,无论单击什么,您都会记住上次滚动的位置。因此,当您单击下来页面时,它会检查上次滚动的位置,即0,因为通过单击向上滚动页面仍然会触发scrol事件

但这对您来说并不是什么大问题,因为您只需将单击事件更改为:

function supportClick(event) {
        if (event.target.className == 'down') {
            blocks.scrollTop = lastCoordY;
            console.log(lastCoordY); // does not assign the last 
                                                             // lastCoordY, gives me "0"
                                                             // two times
        } else {
            lastCoordY = scrollerST;
            blocks.scrollTop = 0;
            scroller.classList.add('down'); 
        }
   }

通过将lastCoordY=scrollerST;移动到else语句中,我们只记得在单击进入页面时上次滚动的坐标,而不记得单击进入页面时上次滚动的坐标。

谢谢!是的,现在我看到了我的小错误并理解了它:太好了!没问题: