zoukankan      html  css  js  c++  java
  • React实现了一个鼠标移入的菜单栏效果

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8" />
    <title>Hello 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;
    }
    ul{
    list-style:none;
    }
    .menus{

    }
    .menus .menu{
    float:left;
    margin-left:4px;
    }
    .menus .menu button{
    padding:4px;
    }
    .menus ul.sub-menu{
    background:#c1d2e3;
    }
    .menus ul li{
    padding-left:4px;
    }
    </style>
    </head>
    <body>
    <div id="example">
    <!-- <div class="menus">
    <div class="menu">
    <button>
    {buttonName}
    </button>
    <ul class="sub-menu">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    </ul>
    </div>

    <div class="menu">
    <button>
    {buttonName}
    </button>
    <ul class="sub-menu">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    </ul>
    </div>
    </div> -->
    </div>
    <script type="text/babel">
    var Menu = React.createClass({
    mover : function() {
    this.setState({
    open : true
    });
    },
    mout : function() {
    this.setState({
    open : false
    });
    },
    getInitialState : function() {
    return {
    open : false
    }
    },
    render : function() {
    return (
    <div className="menu">
    <button onMouseOver={this.mover} onMouseOut={this.mout}>
    {this.props.menuData.name}
    </button>
    <ul className="sub-menu" style={{display:this.state.open ? "block" : "none"}}>
    {this.props.menuData.arr.map((el, index) => {
    return (<div key={index}>{el}</div>)
    })}
    </ul>
    </div>)
    }
    });
    var Menus = React.createClass({
    render : function() {
    return (<div className="menus">
    {this.props.data.map((el ,index)=>{
    return (<Menu key={index} menuData={el}/>)
    })}
    </div>);
    }
    });
    var data = [
    {
    name : "menuName",
    arr : [
    "menu1",
    "menu2",
    "menu3",
    "menu4"
    ]
    },
    {
    name : "menuName1111",
    arr : [
    "menu-1",
    "menu-2",
    "menu-3",
    "menu-4"
    ]
    }
    ];
    ReactDOM.render(<Menus data={data} />, document.getElementById("example"));
    </script>
    </body>
    </html>

  • 相关阅读:
    图片点击后直接下载
    输入网址到页面呈现,以及首屏加载
    RESTful
    html语义化标签
    git 初学解决错误
    爬虫
    Scrapy安转遇到问题
    前端补充
    django-ORM
    django-web聊天
  • 原文地址:https://www.cnblogs.com/tis100204/p/10442503.html
Copyright © 2011-2022 走看看