Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Alarkon_88 en 5 Agosto 2018, 23:40 pm



Título: Div desplegable como hacer para que se vea desplegado
Publicado por: Alarkon_88 en 5 Agosto 2018, 23:40 pm
Saludos, tengo este script

Código:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" class="button8" name="nueva_cabana" id="nueva_cabana" value="Mostrar" />


  <script>
  
   $(document).ready(function(){
    $('#anadir_cabana').hide();
    $("#nueva_cabana").on("click", function(e) {
      var $boton = $(this);
      $('#anadir_cabana').toggle(500,
        function(){
          $boton.val($(this).is(':visible')
              ? 'Ocultar'
              : 'Mostrar');
      });
      e.preventDefault();
  });
});
 
    </script>
  
  



  
  
  
  <div id="anadir_cabana">


ESTE ES EL CONTENIDO!!!


  </div>




el codigo funciona perfectamente cuando yo abro la pagina me sale pero me gustaria hacer que saliera de una ves desplegado de modo que al entrar a la web ya sea visible y salga el boton que diga ocultar en ves de mostrar


Título: Re: Div desplegable como hacer para que se vea desplegado
Publicado por: EdePC en 6 Agosto 2018, 02:21 am
Saludos,

- Comenta o elimina la línea que oculta (hide) tu contenido e inicializa el val() del botón a 'Ocultar':

Código
  1. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  2. <input type="button" class="button8" name="nueva_cabana" id="nueva_cabana" value="Mostrar"/>
  3. <script>
  4.  $(document).ready(function() {
  5.    //$('#anadir_cabana').hide();
  6.    $("#nueva_cabana").val('Ocultar');
  7.    $("#nueva_cabana").on("click", function(e) {
  8.      var $boton = $(this);
  9.      $('#anadir_cabana').toggle(500, function() {
  10.        $boton.val($(this).is(':visible') ? 'Ocultar' : 'Mostrar');
  11.      });
  12.      e.preventDefault();
  13.    });
  14.  });
  15. </script>
  16. <div id="anadir_cabana">ESTE ES EL CONTENIDO!!!</div>


Título: Re: Div desplegable como hacer para que se vea desplegado
Publicado por: #!drvy en 6 Agosto 2018, 04:20 am
Intenta no utilizar tanto $(this) cuando puedes utilizar this. La declaración completa de readiness de jquery ($(document).ready()) esta obsoleta, usa $(function(){ en vez de eso.

https://api.jquery.com/ready/
https://medium.com/js-dojo/this-vs-this-48d2122c3750
https://stackoverflow.com/questions/5160322/jquery-this-vs-variable

Código
  1. $(function(){
  2.  
  3.    $('#nueva_cabana').on('click', function(e){
  4.  
  5.        e.preventDefault();
  6.        var _button = this;
  7.  
  8.        $('#anadir_cabana').toggle(500, function(){
  9.            _button.attr('value', (!this.is(':visible') ? 'Mostrar' : 'Ocultar'));
  10.        });
  11.  
  12.    });
  13.  
  14. });