Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
Reactjs 在滚动屏幕上显示图像时更改文本_Reactjs_Image_Scroll_Textbox_Anchor - Fatal编程技术网

Reactjs 在滚动屏幕上显示图像时更改文本

Reactjs 在滚动屏幕上显示图像时更改文本,reactjs,image,scroll,textbox,anchor,Reactjs,Image,Scroll,Textbox,Anchor,我正在建立一个投资组合网站与反应与大全宽垂直滚动图像。在网页的一侧有一个文本框,我想在每个图像进入视图时显示每个图像的标题 当图像进入视图时,有没有关于如何更改DIV中的文本的建议?我甚至不知道要搜索什么才能找到答案。非常感谢您的帮助。谢谢 您可以附加onscroll侦听器来检测用户何时滚动。在监听器内部,您需要进行一些计算,以计算当前查看的元素。可以用于计算的变量是scrollTop(在容器上,用于确定当前滚动位置)和每个元素的clientHeight let nameDisplayDiv =

我正在建立一个投资组合网站与反应与大全宽垂直滚动图像。在网页的一侧有一个文本框,我想在每个图像进入视图时显示每个图像的标题


当图像进入视图时,有没有关于如何更改DIV中的文本的建议?我甚至不知道要搜索什么才能找到答案。非常感谢您的帮助。谢谢

您可以附加onscroll侦听器来检测用户何时滚动。在监听器内部,您需要进行一些计算,以计算当前查看的元素。可以用于计算的变量是scrollTop(在容器上,用于确定当前滚动位置)和每个元素的clientHeight

let nameDisplayDiv = document.getElementById('display')
let containerDiv = document.getElementById('container')

function refresh() {
  let scrollTop = containerDiv.scrollTop + containerDiv.clientHeight / 2
  let height = 0
  for (let child of containerDiv.children) {
    let top = height
    let bottom = height += child.clientHeight
    if (top < scrollTop && bottom > scrollTop) {
      // Found the element that's currently viewed!
      nameDisplayDiv.innerHTML = child.style.backgroundColor
      break
    }
  }
}

containerDiv.onscroll = refresh
让nameDisplayDiv=document.getElementById('display'))
让containerDiv=document.getElementById('container'))
函数刷新(){
设scrollTop=containerDiv.scrollTop+containerDiv.clientHeight/2
让高度=0
为了(让孩子成为集装箱四、孩子){
让顶部=高度
让底部=高度+=child.clientHeight
如果(顶部<滚动顶部和底部>滚动顶部){
//找到当前查看的元素!
nameDisplayDiv.innerHTML=child.style.backgroundColor
打破
}
}
}
containerDiv.onscroll=刷新
这是一把小提琴:

您可以附加onscroll侦听器来检测用户何时滚动。在监听器内部,您需要进行一些计算,以计算当前查看的元素。可以用于计算的变量是scrollTop(在容器上,用于确定当前滚动位置)和每个元素的clientHeight

let nameDisplayDiv = document.getElementById('display')
let containerDiv = document.getElementById('container')

function refresh() {
  let scrollTop = containerDiv.scrollTop + containerDiv.clientHeight / 2
  let height = 0
  for (let child of containerDiv.children) {
    let top = height
    let bottom = height += child.clientHeight
    if (top < scrollTop && bottom > scrollTop) {
      // Found the element that's currently viewed!
      nameDisplayDiv.innerHTML = child.style.backgroundColor
      break
    }
  }
}

containerDiv.onscroll = refresh
让nameDisplayDiv=document.getElementById('display'))
让containerDiv=document.getElementById('container'))
函数刷新(){
设scrollTop=containerDiv.scrollTop+containerDiv.clientHeight/2
让高度=0
为了(让孩子成为集装箱四、孩子){
让顶部=高度
让底部=高度+=child.clientHeight
如果(顶部<滚动顶部和底部>滚动顶部){
//找到当前查看的元素!
nameDisplayDiv.innerHTML=child.style.backgroundColor
打破
}
}
}
containerDiv.onscroll=刷新
这是一把小提琴:

这个答案可能会有所帮助,您应该能够修改样式以满足您的需要。您可以共享您当前的HTML结构吗?因此,我可以制定一个适合您当前代码的解决方案。或者你可以使用miyu提供的链接。这个答案可能会有所帮助,你应该能够修改样式以满足你的需要。你可以分享你当前的HTML结构吗?因此,我可以制定一个适合您当前代码的解决方案。或者你可以使用miyu提供的链接。