在React中处理滚动位置的正确方法是什么?由于更好的用户体验,我真的很喜欢流畅的滚动。由于在React中操作DOM是一种反模式,我遇到了问题:如何平滑地滚动到某个位置/元素?我通常更改元素的scrollTop值,但这是对DOM的操作,这是不允许的。JSBIN代码:importReactfrom'react';importReactDOMfrom'react-dom';classAppextendsReact.Component{handleClick=e=>{for(leti=1;i(this.node.scrollTop=i),i*2);}};render(){constsomeA
我使用reactjs并希望通过click事件处理滚动。首先,我使用componentDidMount渲染了帖子列表。其次,通过列表中每个帖子的点击事件,它会显示帖子详细信息并滚动到顶部(因为我将帖子详细信息放在页面的顶部位置)。第三,通过点击帖子详细信息中的“关闭按钮”,它会返回之前的帖子列表,但我希望网站将滚动到恰好点击帖子的位置。我是这样使用的:点击事件查看帖子详情:inSingle=(post,e)=>{this.setState({post:post,theposition://Howtogetithere?});window.scrollTo(0,0);}我想获得thepos
找到当滚动条到达某个位置时如何淡出div的例子here.但这不是平稳的throttle式淡入淡出。这是来自该jsfiddle的代码:vardivs=$('.social,.title');$(window).scroll(function(){if($(window).scrollTop()我希望不透明度百分比反射(reflect)滚动条的位置。例如,当滚动条位于最顶部时,div不透明度为100%。当我向下滚动35px时,我希望div的不透明度逐渐降低到0%当divA距顶部35px时,divB=100%不透明度可能是一种技术。当divA距顶部0px时,divB=0%不透明度。并让它在中
我有highcharts图形。当我创建我的页面时,我显示空图形(我没有设置数据属性,只有图形标题,里面是空的。)我从服务器异步获取数据并调用setData()回调函数。但是用户看到一个空白页面,我想为他们显示一个加载图像。这个:http://api.highcharts.com/highcharts#loading对我不起作用。有什么想法吗? 最佳答案 我按照给定URL中的说明进行了操作:functionupdateGraphic(url,chartName){chartName.showLoading();$.getJSON(ur
这个问题在这里已经有了答案:Checkifauserhasscrolledtothebottom(notjustthewindow,butanyelement)[duplicate](31个答案)关闭7年前。在一个著名的新闻网站上(对不起,记不清是哪个网站了)我看到了一个非常酷的效果......当你滚动到页面底部附近时,一个新元素会从浏览器视口(viewport)的顶部向下滑动有很多社交媒体选项(推文、在Facebook上分享等)。我想模拟一些类似的东西......事实上,如果我知道当用户接近页面底部时如何触发一个功能,我真的可以想到做很多事情......因此,我的问题非常基本:当用户
我想使用jquery滚动到特定的div我写的代码是这样的:$("#button").on('click',function(){varp=$("#dynamictabstrp");varoffset=p.offset();window.scrollBy(offset.left,offset.top);});但它并没有移动到div位置。我怎样才能在jquery或javascript中做到这一点 最佳答案 试试这个$("#button").on('click',function(){$('html,body').animate({'sc
我正在使用Bootstrap3并希望实现thiseffect当用户滚动经过我页面上的大标题图像时。我需要导航栏的背景从透明变为白色。我查看了他们的代码,我知道它是用javascript完成的,甚至还看到了WHERE我认为它正在发生(在该JS中查找ID“#main-header”)...除了不了解高级Javascript之外,我正在寻找一种方法,以便在滚动到某个点时将其应用于我的导航栏。我的代码的类称为“导航栏”,我希望它在通过“#main”时变成白色。如果您需要更多信息,请告诉我,如果有人愿意提供帮助,请提前致谢! 最佳答案 完成您
我有一个水平div:我需要通过JavaScript按钮滚动到此div中的特定元素(在单击div后必须滚动到该元素)。我该怎么做?........ 最佳答案 或者您可以使用以下代码段:$('.scrollable').animate({scrollLeft:$('#dstElement').position().left},500);在哪里position()如果定位了scrollable,则返回#dstElement到`.scrollable'的相对位置。代码与演示var$scroller=$('.scroller');//assi
我正在尝试为div在JavaScript中水平移动200px设置动画。下面的代码让它跳跃像素,但是有没有办法让它看起来像动画而不使用jQuery?function(){vardiv=document.getElementById('challengeOneImageJavascript');div.style.left="200px";} 最佳答案 这是一个基本的动画设置:functionanimate(elem,style,unit,from,to,time){if(!elem)return;varstart=newDate().
在MobileSafari中滚动时,会触发第一个touchstart、touchmove和touchend事件,但是,如果您仍在滚动不会触发额外的触摸事件。对于我的应用程序,这是有问题的,因为用户可以用他们的手指停止滚动,而我无法判断是否有手指按下。当手指向下时,您无法设置window的scrollTop,或者您可以设置它,它会发生变化,但窗口不会滚动。当用户再次移动他们的手指时,它不是从我设置scrollTop的位置开始滚动,而是从他们的手指是否被放下开始滚动。请不要评论我为什么要更改窗口的scrollTop;让我们接受它作为一项优先要求。关于如何检测是否有手指按下的任何想法?