Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/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 使用Onclick进行卡片翻转,并根据Json数据对卡片进行排序_Javascript_Html_Css_Reactjs - Fatal编程技术网

Javascript 使用Onclick进行卡片翻转,并根据Json数据对卡片进行排序

Javascript 使用Onclick进行卡片翻转,并根据Json数据对卡片进行排序,javascript,html,css,reactjs,Javascript,Html,Css,Reactjs,我有一个json列表,我用来填充一个有两面的react卡片列表。我想在点击按钮时切换到信息侧,但我只能让它翻转所有卡片。我可以通过在css中悬停来实现它,然后只有卡悬停在翻转上 下面是我的卡码 <MDBRow class="row"> <ul className="ulWidth"> <li className="liWidth"> {this.state.infos.map(post => {

我有一个json列表,我用来填充一个有两面的react卡片列表。我想在点击按钮时切换到信息侧,但我只能让它翻转所有卡片。我可以通过在css中悬停来实现它,然后只有卡悬停在翻转上

下面是我的卡码

 <MDBRow class="row">  
            <ul className="ulWidth">
            <li className="liWidth"> {this.state.infos.map(post => {
                return (
                  <div key={post.id} id="menu">

                <MDBCol lg="4" className=" mb-3 column flip-card" id="myEltId">       
                      <MDBCard className="card  colCardinfoHeightImg flip-card-inner">
                        <img className="img-fluid infoImage"  src={require('../../images/infoImage.png')} />
                        <MDBCardBody>
                           <MDBCardTitle className="CardTitle text-uppercase text-bold">{post.infoName}</MDBCardTitle>
                          <MDBCardText>
                              <strong>Data Example 1:</strong> {post.jsonData1}<br/>
                              <strong>Data Example 2:</strong>  {post.jsonData2}<br/>

                              <strong>Data Example 3:</strong>  {post.jsonData3}<br/>

                          </MDBCardText>
                        </MDBCardBody>
                        <div class="flip-card-back">


                        <MDBCard className=" colCardinfoHeight">
                  <MDBCardBody>
                    <MDBCardTitle>{post.infoName}</MDBCardTitle>
                    <MDBCardText>
                        <p><strong>Data Example 3:</strong>{post.jsonData4}<br/>
                        <strong>Data Example 3:</strong> {post.jsonData5}
                        </p>
                        <hr/>
                        <p><strong>Data Example 3:</strong> {post.jsonData6}<br/>


                    </MDBCardText>
                    <MDBBtn className="infoButton" color="orange" size="lg" onClick={this.clickFlipFunction}>Switch Today</MDBBtn>
                  </MDBCardBody>
                </MDBCard>
                           </div>
                      </MDBCard>
                    </MDBCol>

                  </div>
                );
              })}
               </li>
            </ul>
          </MDBRow>

当我在css文件中输入上面的css并使用悬停标记时,当用户悬停在上面时,它会工作,只翻转正确的卡,但我需要它是一个可单击的功能

现在,您的事件处理程序正在使用类“flip card”获取所有元素。这就是这部分所做的:

$(".flip-card")
相反,您需要使用对单击的特定元素的引用,例如:

$(".flip-card").click(function(e){
    $(e.target).css("transform", " rotateY(180deg)");
});

现在,您的事件处理程序正在使用类“flip card”获取所有元素。这就是这部分所做的:

$(".flip-card")
相反,您需要使用对单击的特定元素的引用,例如:

$(".flip-card").click(function(e){
    $(e.target).css("transform", " rotateY(180deg)");
});

  • 为卡创建一个
    onClick
    事件处理程序
  • 使用类似于
    isCardFlipped
    状态变量的内容跟踪卡是否在组件内翻转
  • 每当调用
    onClick
    时,切换
    isCardFlipped
    状态值
  • 使用分配动态类名,以根据
    iscardrifped
    中的值显示
    flip card
    flip card internal
  • 编辑:我建议不要使用jquery,或者不要执行直接的DOM操作。使用React的主要好处(您可能忽略了这一点)是能够通过React的内部工作间接地更新DOM:简而言之,这只允许更新已更改的DOM元素,而不是完全重新绘制整个DOM。请阅读更多关于此的信息

  • 为卡创建一个
    onClick
    事件处理程序
  • 使用类似于
    isCardFlipped
    状态变量的内容跟踪卡是否在组件内翻转
  • 每当调用
    onClick
    时,切换
    isCardFlipped
    状态值
  • 使用分配动态类名,以根据
    iscardrifped
    中的值显示
    flip card
    flip card internal
  • 编辑:我建议不要使用jquery,或者不要执行直接的DOM操作。使用React的主要好处(您可能忽略了这一点)是能够通过React的内部工作间接地更新DOM:简而言之,这只允许更新已更改的DOM元素,而不是完全重新绘制整个DOM。请阅读更多关于此的信息