Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 幻灯片背景图像| CSS_Javascript_Html_Css_Reactjs - Fatal编程技术网

Javascript 幻灯片背景图像| CSS

Javascript 幻灯片背景图像| CSS,javascript,html,css,reactjs,Javascript,Html,Css,Reactjs,我有一个水平图像,我想用作背景。我想根据传递给函数的参数更改图像的位置。我的形象: 到目前为止,我的代码是: import React, { Component } from 'react' import Background from '../images/background_image.jpg'; class MoveImage extends Component{ constructor(props) { super(props); this.state

我有一个水平图像,我想用作背景。我想根据传递给函数的参数更改图像的位置。我的形象:

到目前为止,我的代码是:

import React, { Component } from 'react'

import Background from '../images/background_image.jpg';

class MoveImage extends Component{

    constructor(props) {
    super(props);
    this.state = {
      counter: 1
     }
  }

    const bgSlide = {
        backgroundImage: `url(${Background})`
    };

    moveBGImage=(id)=>{
        //slide the image depending on the id
        //so if id=2, the image should slide from screen1 to screen2
    }

    render(){
        return(
            <div style = { bgSlide } >

                <button
                    onClick = this.moveBGImage(this.state.counter+1)
                >
                    Click Me

                </button>

            </div>

            )
    }


}


export default MoveImage;
import React,{Component}来自“React”
从“../images/Background_image.jpg”导入背景;
类MoveImage扩展组件{
建造师(道具){
超级(道具);
此.state={
柜台:1
}
}
常数bglide={
backgroundImage:`url(${Background})`
};
moveBGImage=(id)=>{
//根据id滑动图像
//因此,如果id=2,图像应该从屏幕1滑动到屏幕2
}
render(){
返回(
点击我
)
}
}
导出默认移动图像;
如果计数器是2,我想显示图像的screen2部分。屏幕1应该向左滑动,屏幕2应该从右滑入。这可以在React中完成吗?

使用CSS可以:

const-App=()=>{
常量[屏幕,设置屏幕]=反应。使用状态(1)
常量切换屏幕=()=>设置屏幕(s=>s>3?1:s+1)
返回(
)
}
ReactDOM.render(,document.getElementById('root'))
屏幕{
背景:url('https://i.stack.imgur.com/72bFV.png')不重复0;
背景尺寸:封面;
宽度:120px;
高度:100px;
过渡时间:300ms;
}
.screen.nr2{
背景位置:33.33%0;
}
.screen.nr3{
背景位置:66.67%0;
}
.screen.nr4{
背景位置:100%0;
}

使用CSS可以:

const-App=()=>{
常量[屏幕,设置屏幕]=反应。使用状态(1)
常量切换屏幕=()=>设置屏幕(s=>s>3?1:s+1)
返回(
)
}
ReactDOM.render(,document.getElementById('root'))
屏幕{
背景:url('https://i.stack.imgur.com/72bFV.png')不重复0;
背景尺寸:封面;
宽度:120px;
高度:100px;
过渡时间:300ms;
}
.screen.nr2{
背景位置:33.33%0;
}
.screen.nr3{
背景位置:66.67%0;
}
.screen.nr4{
背景位置:100%0;
}


有固定的高宽比吗?没有,没有固定的高宽比。但是我可以试着给出一个比率来理解它是如何工作的。这里有一个活生生的例子:非常感谢@chrisgd,
有固定的高宽比吗?不,没有固定的高宽比。但我可以试着给出一个比率来了解它是如何工作的。这里有一个活生生的例子:非常感谢@chrisgth这正是我想要的。除了
useState
部分之外,我对逻辑有些了解。请您将
切换屏幕
功能分解一下好吗?非常感谢您单击后,它将在下一次渲染中将
屏幕设置为2,然后设置为3、4、1、2。。。有关更多详细信息,请参阅React-Hooks文档-它与此类似,这正是我想要的。除了
useState
部分之外,我对逻辑有些了解。请您将
切换屏幕
功能分解一下好吗?非常感谢您单击后,它将在下一次渲染中将
屏幕设置为2,然后设置为3、4、1、2。。。有关更多详细信息,请参见React Hooks文档-类似于