Estoy atrapado en jquery div saltar al problema. El problema es que estoy creando dinámicas <a href="" id="1_1"></a> y dinámica div decir también <div id="1_1_div"></div> estoy utilizando la siguiente función jquery para desplazarse a un particular div

<script>
        $(document).ready(function (){
            $("#click").click(function (){
                alert ("test");
                //$(this).animate(function(){
                    $('html, body').animate({
                        scrollTop: $("#div1").offset().top
                    }, 1000);
                //});
            });
        });
    </script>

Mi pregunta es cómo pasar dinámica id a $("") Cualquier ayuda sería muy apreciada.

  • La Concatenación De Cadenas: $("#" + this.id + "_div").offset().top
  • Que ya lo tengo pero el problema es cómo llamar a la función cuando tenemos muchos <a href="#" id="1_1">Div1</a> <a href="#" id="1_2">Div2</a>
InformationsquelleAutor Ethen | 2014-02-02

4 Comentarios

  1. 1
    $(document).ready(function (){
            $(".click").click(function (){
                alert ("test");
                var divID = '#' + $(this).attr('id') + '_div';
                    $('html, body').animate({
                        scrollTop: $(divID).offset().top
                    }, 1000);
            });
        });

    Y agregar <a class="click" ...

    • Por favor, vaya a través de mi problema en el comentario de arriba. quiero pasar dinámica de los identificadores de <a></a> a #click de modo que haga clic en él para desplazamiento a ese div
    • He actualizado mi respuesta. déjeme saber si eso ayuda
  2. 2

    Concatenación De Cadenas:

    $("#" + this.id + "_div").offset().top

    Nota que no hay necesidad de crear Identificadores únicos, DOM duo a tener estructura de árbol proporciona muchos métodos diferentes para atravesar y la selección de los elementos de destino.

    Ya que son de la generación de los elementos dinámicamente debe delegar en los eventos, se puede agregar clases a sus elementos y el uso de la on método:

    $('#aStaticParentElement').on('click', '.anchors', function() {
       //TODO:
       //select the target element either by traversing 
       //or by using an identifier
    });
    • Un millón de gracias!! también trabajó.
  3. 1

    Visualizar aquí

    Primera, ya que tiene varios enlaces, el uso de una clase para el grupo de ellos:

    HTML

    <a href="#" id="1_1" class="click">Click me 1_1</a>
    <a href="#" id="1_2" class="click">Click me 1_2</a>    
    <a href="#" id="1_3" class="click">Click me 1_3</a>

    jQuery

    $(document).on('click', '.click', function (e) {
        var theID = $(this).attr('id');
        $('html, body').animate({
            scrollTop: $('#' + theID + '_div').offset().top
        }, 1000);
        return false;
    });

    Hice esto con la ligera supuesto de que usted se dinámicamente la creación de estos vínculos (por lo tanto, la delegación). Si son estáticos y no va a cambiar durante la carga de la página, puede utilizar $('.click').click(function()... en lugar de $(document).on('click', '.click', function()...

    • Gracias por la visualización +1 🙂
    • no hay problema en absoluto

Dejar respuesta

Please enter your comment!
Please enter your name here