产生这个bug的原因:当我们第一次滑倒底部点击A回到顶部成功,再次滑倒底部,再次点击A无法回到顶部,因为此时的scrollIntoView对应的值还是A,需要将scrollIntoView对应的值清空,然后重新赋值A,即可解决解决办法:滑动到顶部或者底部时,清空之前设置的scrollIntoId即可onScrollToUpper={()=>this.cleanScrollIntoId()}onScrollToLower={()=>this.cleanScrollIntoId()}//清除scrollIntoIdcleanScrollIntoId(){this.setState({scrollI
我正在尝试在vue组件中使用document.getElementById().scrollIntoView()来使用Jump-To-Div类型的功能。如果我在组件中调用该函数,该功能就可以正常工作。但是,如果我尝试使用ref从父组件调用该函数,则该元素不会滚动到View中。父组件是页面,子组件是页面中的选项卡。这是父组件中的子Vue组件:-所以有一个SolutionDetails.Vue子组件,它有一个ref="solutionDetails"。我在父组件中使用子组件的ref调用此方法:handleClick(command){this.activeTab='SolutionDeta
环境:Firefox16/27和Chrome33我有一个(带滚动条)包含大量元素.如果我调用scrollIntoView()在上元素,我希望只有div的卷轴移动,但整个页面(之外)被滚动。JSFiddle上的示例:http://jsfiddle.net/7fH8K/7/这里出了什么问题? 最佳答案 只需调用scrollIntoView()使用参数false以表明它不应滚动到顶部。参见descriptionforElement.scrollIntoView()onMDN了解更多信息。JSFiddle页面向下滚动的原因是scrollIn
我想水平滚动给定的元素。我找到的唯一方法是使用ScrollIntoViewDOM方法,该方法允许将元素的底部与View底部或顶部-与View顶部对齐。但是,如果元素相对于Y轴没问题,而我只想水平滚动它呢?如何将其左侧与View左侧对齐或右侧与View右侧对齐?编辑这里有更多的上下文。我有一个带有水平滚动条的YUI表。我希望以编程方式将其滚动到某个TD节点。我认为window.scrollTo对我没有任何帮助,因为滚动条在div元素上,而不是在整个页面上。EDIT2原来有一个重复的SO问题,答案是正确的-HowcanIscrollprogrammaticallyadivwithitsow
我有一个标题设置为position:fixed的站点。在我的一个页面上,我对一个元素使用了scrollIntoView(true)。我的问题是,当scrollIntoView被调用时,该元素被定位在标题下方。我该如何解决这个问题,以便该元素显示在标题的正下方?我正在使用Bootstrap框架,header的样式为navbarnavbar-fixed-top。 最佳答案 这有点hacky,但这里有一个解决方法。varnode='selectyourelement';varyourHeight='heightofyourfixedhea
Javascript.scrollIntoView(boolean)只提供两个对齐选项。顶底部如果我想这样ScrollView怎么办。我想将特定元素放在页面中间的某处? 最佳答案 试试这个:document.getElementById('myID').scrollIntoView({behavior:'auto',block:'center',inline:'center'});有关更多信息和选项,请参阅此处:https://developer.mozilla.org/en-US/docs/Web/API/Element/scro
我正在使用ScrollIntoView()将列表中突出显示的元素滚动到View中。当我向下滚动时ScrollIntoView(false)完美运行。但是当我向上滚动时,ScrollIntoView(true)导致整个页面移动一点,我认为这是有意的。有没有办法在使用ScrollIntoView(true)时避免整个页面移动?这是我的页面结构#listOfDivs{position:fixed;top:100px;width:300px;height:300px;overflow-y:scroll;}listOfDivs来自ajax调用。使用移动浏览器。 最佳答
在SeleniumWebDriver中,主要有两种方法将元素放入可见区域:Scrollingintoview:((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);",element);使用moveToElementbrowseraction:Actionsactions=newActions(driver);actions.moveToElement(element);actions.perform();这些方法是否等效,应该首选哪一种? 最佳答案