1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Help me with this webpage of a family tree hierarchy

Discussion in 'JavaScript' started by d9esco, Jan 3, 2016.

  1. #1
    I have this family tree coded as a template and I was wondering if someone could improve it for me. I was hoping I could get this done to the webpage.

    Clicking on an element give you options to add/edit the elements text and the <p>s associated with it.

    For example, If I were to click on a great grand child element, or any other element, I would like the option to edit the text "great grand child", edit the <p>s

    I would also like the option to add a child element to that great grand child element below it.

    It would be great if I could also get the option to just move down what I clicked on in the hierarchy and give it another parent, for example, If I wanted to click on a grand child to add a parent element, id like grand child to move down and a new empty element to appear as its parent, being the child of who the grand childs parent was.

    
    <html>
    
    <head>
    
        <script type="text/javascript">
            function show(id) {
               var e = document.getElementById(id);
               if(e.style.display == 'none')
                  e.style.display = 'block';
               else
                  e.style.display = 'none';
            }
       
        </script>
       
       
        <style>
        /*Now the CSS*/
        * {margin: 0; padding: 0;}
       
        .tree ul {
            padding-top: 20px; position: relative;
           
            transition: all 0.5s;
            -webkit-transition: all 0.5s;
            -moz-transition: all 0.5s;
        }
       
        .tree li {
            float: left; text-align: center;
            list-style-type: none;
            position: relative;
            padding: 20px 5px 0 5px;
           
            transition: all 0.5s;
            -webkit-transition: all 0.5s;
            -moz-transition: all 0.5s;
        }
       
        /*We will use ::before and ::after to draw the connectors*/
       
        .tree li::before, .tree li::after{
            content: '';
            position: absolute; top: 0; right: 50%;
            border-top: 1px solid #ccc;
            width: 50%; height: 20px;
        }
        .tree li::after{
            right: auto; left: 50%;
            border-left: 1px solid #ccc;
        }
       
        /*We need to remove left-right connectors from elements without 
        any siblings*/
        .tree li:only-child::after, .tree li:only-child::before {
            display: none;
        }
       
        /*Remove space from the top of single children*/
        .tree li:only-child{ padding-top: 0;}
       
        /*Remove left connector from first child and 
        right connector from last child*/
        .tree li:first-child::before, .tree li:last-child::after{
            border: 0 none;
        }
        /*Adding back the vertical connector to the last nodes*/
        .tree li:last-child::before{
            border-right: 1px solid #ccc;
            border-radius: 0 5px 0 0;
            -webkit-border-radius: 0 5px 0 0;
            -moz-border-radius: 0 5px 0 0;
        }
        .tree li:first-child::after{
            border-radius: 5px 0 0 0;
            -webkit-border-radius: 5px 0 0 0;
            -moz-border-radius: 5px 0 0 0;
        }
       
        /*Time to add downward connectors from parents*/
        .tree ul ul::before{
            content: '';
            position: absolute; top: 0; left: 50%;
            border-left: 1px solid #ccc;
            width: 0; height: 20px;
        }
       
        .tree li span{
            border: 1px solid #ccc;
            padding: 5px 10px;
            text-decoration: none;
            color: #666;
            font-family: arial, verdana, tahoma;
            font-size: 11px;
            display: inline-block;
           
            border-radius: 5px;
            -webkit-border-radius: 5px;
            -moz-border-radius: 5px;
           
            transition: all 0.5s;
            -webkit-transition: all 0.5s;
            -moz-transition: all 0.5s;
        }
       
        /*Time for some hover effects*/
        /*We will apply the hover effect the the lineage of the element also*/
        .tree li span:hover, .tree li span:hover+ul li span {
            background: #c8e4f8; color: #000; border: 1px solid #94a0b4;
        }
        /*Connector styles on hover*/
        .tree li span:hover+ul li::after, 
        .tree li span:hover+ul li::before, 
        .tree li span:hover+ul::before, 
        .tree li span:hover+ul ul::before{
            border-color:  #94a0b4;
        }
       
        /*Thats all. I hope you enjoyed it.
        Thanks :)/>/>/>*/
        </style>
    
    </head>
    
    
    <body>
    
    
    
    <!--
    We will create a family tree using just CSS(3)
    The markup will be simple nested lists
    -->
    <div class="tree">
        <ul>
            <li>
                <span class="ctitle" id="title" onmouseenter='show("tproperties")' onmouseleave='show("tproperties")'>Animal Kingdom<div id="tproperties" style="display: none;">test text</div></span>
                <ul>
                    <li>
                        <span class="corder" id="order">Child</span>
                        <ul>
                            <li>
                                <span>Grand Child</span>
                            </li>
                        </ul>
                    </li>
                    <li>
                        <span>Child</span>
                        <ul>
                            <li><span>Grand Child</span></li>
                            <li>
                                <span>Grand Child</span>
                                <ul>
                                    <li>
                                        <span  onmouseenter='show("ggcp")' onmouseleave='show("ggcp")'>Great Grand Child 
                                            <div id='ggcp' style="display: none;">
                                                <p id='age' class='age'>age</p>
                                                <p id='name' class='name'>name<p>
                                            </div>
                                        </span>
                                    </li>
                                    <li>
                                        <span>Great Grand Child</span>
                                    </li>
                                    <li>
                                        <span>Great Grand Child</span>
                                    </li>
                                </ul>
                            </li>
                            <li><span>Grand Child</span></li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </div>
    
    
    
    
    <div>
    
    </div>
    
    </body>
    </html>
    
    Code (markup):
     
    d9esco, Jan 3, 2016 IP