2013-10-11 4 views
1

Я новичок в JQuery, Вот мой код:Отображение и скрытие функций с помощью Jquery

<script type="text/javascript"> 
      $(document).ready(function() { 
       $('.toAdd').hide(); 

       var count = 0; 
       $('#add').on('click', function() { 
        $('.toAdd:eq(' + count + ')').show(); 
        count++; 
       }); 
      }); 

</script> 
<div class="toAdd">One</div><div class="toAdd">Two</div><div class="toAdd">Three</div> 
<input type="button" value="show" id="add"/> 
<input type="button" value="hide" id="sub"/> 

В этом коде, если я нажимаю кнопку Показать подразделения по одному он показывает. после того, что мне нужно, чтобы скрыть один за другим, если я нажимаю кнопку скрыть

Fiddle here

+1

А что вы пробовали уже? –

+0

$ (document) .ready (function() { $ ('. ToAdd'). Show(); var count> 0; $ ('# sub'). On ('click', function() { $ ('. ToAdd: eq (' + count + ')'). Hide(); count--; }); }); например, я попытался, но не работал – user2869777

ответ

4

Надежда это может помочь вам ... :)

    $('#sub').on('click', function() { 
         if(count > 0){ 
          count--; 
         $('.toAdd:eq(' + count + ')').hide(); 
         } 

        }); 
+0

ваш правильный, этот один отлично работает @Outlooker. – user2869777

+0

user2869777

+0

, пожалуйста, проверьте значение counts.I отредактировал код, чтобы переменная count уменьшилась, только если значение больше 0 – Outlooker

2

Попробуйте это тоже

<script type="text/javascript"> 
      $(document).ready(function() { 
       $('.toAdd').hide(); 

       $('#add').on('click', function() { 
        $('.toAdd,.hidden').first().show().addClass("shown").removeClass("hidden"); 
       }); 
       $('#sub').on('click', function() { 
        $('.toAdd,.shown').last().hide().addClass("hidden").removeClass("shown"); 
       }); 
      }); 
+0

Знаете ли вы о [jquery chaining] (http: //www.w3schools .com/jquery/jquery_chaining.asp) – Gowri

+0

@ gowri Я не был. Но теперь я. Спасибо – gurvinder372

1

Попробуйте это, это будет работать с вами очень хорошо

$('.toAdd').hide(); 
    $('#add').click(function(){ 
    $('div').each(function(key, value) { 

      $(value).delay(key * 500).fadeIn(500); 

     });}); 
     $('#sub').click(function(){ 
     $('div').each(function(key, value) { 

      $(value).delay(key * 500).fadeOut(500); 

     }); 
}); 

Fiddle Here

+0

Вам следует выслать свой код здесь – Gowri

+0

Да, этот тоже отлично работает. – user2869777

+0

Примите ваш ответ, если это сработает для вас. –

5
$(document).ready(function() { 
    $('.toAdd').hide(); 

    var count = 0; 
    $('#add').on('click', function() { 
     $('.toAdd:eq(' + count + ')').show(); 
     count++; 
    }); 
    var deCount = count; 
    $('#sub').on('click', function() { 
     count--; 
     $('.toAdd:eq(' + count + ')').hide(); 
    }); 
}); 
2

Отредактировано jsfiddle по Outlooker

if($('.toAdd:eq(' + count + ')').is('*')) 

Добавлена ​​проверка пункт существования.

Fiddle

1

Попробуйте

var $toAdds = $('.toAdd').hide(); 

var count = 0; 
$('#add').on('click', function() { 
    if (count < $toAdds.length) { 
     $toAdds.eq(count).show(); 
     count++; 
    } 
}); 
$('#sub').on('click', function() { 
    if (count > 0) { 
     count--; 
     $toAdds.eq(count).hide(); 
    }  
}); 

Demo: Fiddle

2

Ответ Outlooker является правильным, но есть немного битовая ошибка. when user will click on show button 4th time then your hide doesn't work as expected. Так что я просто исправлю кусок здесь и пообщаюсь с вами, ребята.

HTML код:

<div class="toAdd">One</div> 
<div class="toAdd">Two</div> 
<div class="toAdd">Three</div> 
<input type="button" value="show" id="add" /> 
<input type="button" value="hide" id="sub" /> 

Java Script код:

/** 
* Hide all Content div 
*/ 
$(".toAdd").hide(); 
/** 
* Total no of content div find out 
**/ 
var lengthDiv = $(".toAdd").length; 
/** 
* Default count declare 
**/ 
var count = 0; 
/** 
* Click on show button 
**/ 
$('#add').on('click', function() { 
    if (count < lengthDiv) { 
     $('.toAdd:eq(' + count + ')').show(); 
     count++; 
    } 
}); 
/** 
* Click on hide button 
**/ 
$('#sub').on('click', function() { 
    if (count > 0) { 
     count--; 
     $('.toAdd:eq(' + count + ')').hide(); 
    } 
}); 

Fiddle Example

Смежные вопросы