zoukankan      html  css  js  c++  java
  • 手风琴切换效果

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8" />
    <title>React</title>
    <script src="https://unpkg.com/react@15.3.2/dist/react.js"></script>
    <script src="https://unpkg.com/react-dom@15.3.2/dist/react-dom.js"></script>
    <script src="https://unpkg.com/babel-core@5.8.38/browser.min.js"></script>
    <style>
    *{
    margin:0;
    padding:0;
    }
    .accordion{
    background:#f00;
    height:400px;
    }
    .accordion .div{
    float:left;
    100%;
    }
    .accordion .title{
    background:#0f0;
    height: 20px;
    line-height:20px;
    cursor:pointer;
    }
    .accordion .content{
    transition:height 1s;
    height:0;
    background:#00f;
    overflow:auto;
    }
    .accordion .content.full{
    height:320px;
    }
    .accordion:after{
    clear:both;
    content:"";
    display:block;
    }
    </style>
    </head>
    <body>
    <div id="example">
    <!-- <div class="accordion">
    <div class="div">
    <div class="title">title</div>
    <div class="content">content</div>
    </div>
    <div class="div">
    <div class="title">title</div>
    <div class="content">content</div>
    </div>
    <div class="div">
    <div class="title">title</div>
    <div class="content full">content</div>
    </div>
    <div class="div">
    <div class="title">title</div>
    <div class="content">content</div>
    </div>
    </div> -->
    </div>
    <script type="text/babel">
    var AccordionDivComponent = React.createClass({
    render : function() {
    return (
    <div className="div">
    <div className="title" onClick={this.props.clk}>title</div>
    <div className={"content "+(this.props.active ? "full" : "")} >content</div>
    </div>
    );
    }
    });
    var Accordion = React.createClass({
    getInitialState : function() {
    return {
    index : 0
    }
    },
    handlClick : function(index , ev) {
    this.setState({
    index : index
    })
    },
    render : function() {
    return (<div className="accordion">
    {this.props.data.map((el, index)=> {
    return (<AccordionDivComponent active={this.state.index == index} clk={this.handlClick.bind(null,index)} key={index} />)
    })}
    </div>);
    }
    });
    var arr = [
    {
    title : "title",
    content : "content"
    },
    {
    title : "title1",
    content : "content1"
    },
    {
    title : "title2",
    content : "content2"
    },
    {
    title : "title2",
    content : "content2"
    }
    ];
    //console.time();
    ReactDOM.render(
    <Accordion data={arr}/>,
    document.getElementById('example')
    );
    </script>
    </body>
    </html>

  • 相关阅读:
    Linux unalias命令 取消别名
    linux cp 拷贝文件或目录
    POJ 1850
    POJ 1844
    POJ 1852
    POJ 1837
    POJ 1833
    POJ 1804
    POJ 1789
    POJ 1781
  • 原文地址:https://www.cnblogs.com/tis100204/p/10442518.html
Copyright © 2011-2022 走看看