简体   繁体   中英

show hide html div using javascript

I want to customize this show hide html div using javascript.

HTML

<a href="#" class="clickme">Menu 1</a>
<div class="box">
   <span><span class="labelText"><span></span>Number 1</span></span>
    <input type="text" value="" maxlength="50"><br/>
    <span><span class="labelText"><span></span>Number 2</span></span>
    <input type="text" class="inputclmsize1"  value="" maxlength="50"  aria-invalid="false"><br>
    <a href="">Submit</a>                                                                                     
</div>

<a href="#" class="clickme">Menu 2</a>
<div class="box">
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,
</div>

CSS code

body {
font: 12px/16px sans-serif;
margin: 10px;
padding: 0;}

.clickme {
background-color: #eee;
border-radius: 4px;
color: #666;
display: block;
margin-bottom: 5px;
padding: 5px 10px;
text-decoration: none;}

.clickme:hover {
text-decoration: underline;}

.box {
background-color: #ccc;
border-radius: 4px;
color: #333;
margin: 5px 0;
padding: 5px 10px;
width: auto;}

Javascript code

$('.box').hide();
// Make sure all the elements with a class of "clickme" are visible and bound
// with a click event to toggle the "box" state
$('.clickme').each(function() {
    $(this).show(0).on('click', function(e) {
        // This is only needed if your using an anchor to target the "box" elements
        e.preventDefault();

        // Find the next "box" element in the DOM
        $(this).next('.box').slideToggle('fast');
    });

});

When i click Menu1 line, it appear two text column with submit link. i want to , when i click submit button, the Menu 1 close and menu 2 description open automatically. how can i do this. please anyone can help? :( fiddle link is here http://jsfiddle.net/rn4qdyue/2/

You can add a click event to the submit button, then toggle each box.

$("#submit").click(function(e){
    e.preventDefault();
    $("#box1").slideToggle('fast');
    $("#box2").slideToggle('fast');
});

Note I added IDs to the submit button, and both box DIV s.

Fiddle: http://jsfiddle.net/rn4qdyue/6/

You can add an id to to your submit.

<a id="submit" href="">Submit</a>  

In JS do this:

$('#submit').click(function(e){
    e.preventDefault();
  $('.box').slideToggle('fast');
})

Fiddle .

Add a click handler of submit click.

<a href="" id="submit">Submit</a>  

$('#submit').click(function(e){
    e.preventDefault();
    var $parent = $(this).closest('.box');

    $parent.slideToggle('fast');
    $parent.next('.clickme').click();
});

Updated Fiddle

Check following solution.

$('#submit').on('click', function(e) {
    e.preventDefault();
    var $el = $(this).parent('.box');

    $el.slideUp('fast');
    $el.next().next('.box').slideDown('fast')
});

Updated Fiddle

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM