cómo crear propia función y llamar a otra función? como

$('.mycls li').hover(function() {    
var divid = $(this).find('li').attr('some_attr');
call myfunc(divid);
});

function myfunc(divid)
{
$(divid).show();
//I want to hide rest all divs 
$('div#info1').hide();
$('div#info2').hide();
$('div#info3').hide();
}

Tengo 2 preguntas, una es cómo implementar esta lógica en jquery segundo es el atributo que puede ser utilizado para hacer referencia a la específica li específicos div

mi divs son como

<div id="info1">
//some information
</div>
<div id="info2">
</div>
....
  • Usted ya ha respondido a tu primera pregunta. En cuanto a la segunda… no entiendo, por favor aclarar. Creo que tienes que ver más de su lenguaje de marcado HTML.
  • Sólo quiero llamar a myfunc() del ratón por encima de los productos de li.
InformationsquelleAutor nectar | 2010-06-23

3 Comentarios

  1. 5

    Sus funciones deben ser capaces de operar sobre el conjunto ajustado al igual que otros métodos/funciones de jquery. Considere la posibilidad de un plugin, es fácil:

    Plugin de jQuery Tutorial

    O ver:

    Definir tus propias funciones en jQuery

    • eche un vistazo en mi código es correcto- <script> $(‘.smenu li’).mouseover( function(){ myfunnc(); }); jQuery.fn.myfunc = function() { $(‘div#telcosinfo’).show(«medio»); } </script>
  2. 1

    No hay ninguna palabra clave call que usted necesita utilizar para llamar a una función. Tan sólo el uso de

    myfunc(divid);

    para llamar a la función que va a hacer.

    Para vincular su li-s a su div-s puede utilizar un id esquema de nomenclatura, por ejemplo, dar a todos sus li-s identificadores que comienzan con una d y todos sus div identificadores que comienzan con «info» como usted los tiene, pero tiene los bits después de que ser el mismo.

    <li id='d1'> </li>
    <li id='d2'> </li>
    <li id='d3'> </li>
    
    <div id='info1'></div>
    <div id='info2'></div>
    <div id='info3'></div>

    y, a continuación, utilizar

    $('.mycls li').hover(function() {      
        //get the number part of the li id and use it to
        //build the divid by appending it to "info"
        var divid = "info" + $(this).attr('id').slice(1);
        myfunc(divid);   
    });   
    
    function myfunc(divid)   
    {
         $("#" + divid).show();   
         //hide all divs that do not have id=divid
         $("div:not(#" + divid + ")").hide();
    } 
    • esto significa div-s id debe ser como 1,2,3...?
    • no, div-s id debe ser como info1,info2,info3 – he actualizado mi respuesta para hacer esto más claro
    • ya la tengo…pero que no está funcionando incluso cuando estoy pasando var divid="info1"; myfunc(divid); no está llamando a la función, pero todos div-s de la página están recibiendo desaparecido.
  3. 1

    Escribí esto:

    jQuery.fn.doSomeStuff = function(options, callback) {
        var $elem = $(this[0]) 
        var args = options || {};
    
        //doSomeStuff
        alert("DOM element: "+$elem.html());
        alert("this ia a parameter:"+ args.aParameter);
    
        if (typeof callback == 'function') { //make sure the callback is a function
            callback.call(this); //brings the scope to the callback
        }
        return $elem; //ensures jquery chainability
    };
    1. definir su propia función
    2. especificar los parámetros y devolución de llamada
    3. garantizar jquery chainability

    Puedes probarlo aquí

Dejar respuesta

Please enter your comment!
Please enter your name here