2011-01-12 12 views
0

カスタムjQueryの関数と引数

$(document).ready(function() { 
    $('#tb1 li').hover(function() { 
    var head = $(this).attr("title"); 
    var image = $(this).find("a").attr("rel"); 
    $('.aCnt img').attr("src", image); 
    $('.aCnt span').html(head); 

    }); 
    $('#tb1 li').eq(0).hover(); 
}); 

は、私は例のPHPの機能のためにjQueryの機能が類似していないことを知って、このスクリプトグローバル

function interActive(myID, myClass){ 
    ID = '#' + myID; 
    cls = '.' + myClass; 
    $('ID li').hover(function() { 
    var head = $(this).attr("title"); 
    var image = $(this).find("a").attr("rel"); 
    $('cls img').attr("src", image); 
    $('cls span').html(head); 

    }); 
    $('ID li').eq(0).hover(); 
} 

を作りたいです。 interActive関数はjQueryでは機​​能しません。この関数をjQueryのために変更するにはどうすればよいですか? ありがとうございます。

答えて

2

変数IDとclsは、引用符で囲んだときに文字通り文字列として扱われます。それらを連結する必要があります:cls + ' img'。このように使用することができます

$.fn.interActive = function (target) { 
    this.find('li').hover(function() { 
     var head = $(this).attr('title'); 
     var image = $(this).find('a').attr('rel'); 
     $(target).find('img').attr('src', image); 
     $(target).find('span').html(head); 
    }).eq(0).hover(); 
}; 

:助けを

$("#someID").interActive(".someClass"); 
+0

ありがとうございますまた、のような、このためのjQueryプラグインを作成することを検討して

function interActive(myID, myClass){ var ID = '#' + myID; var cls = '.' + myClass; $(ID + ' li').hover(function() { var head = $(this).attr("title"); var image = $(this).find("a").attr("rel"); $(cls + ' img').attr("src", image); $(cls + ' span').html(head); }); $(ID + 'li').eq(0).hover(); } 

。ここをクリックしてください:http://jsfiddle.net/EkKSS/1/。ホバーの変更はありません。 – TheNone

+0

jQueryプラグインを作成しない最初のメソッドを使用したため、単に 'interActive(...、...)'を使用して呼び出すことができます。また、文字列(文字列を含む変数ではありません)を引用符で囲む必要があります。更新されたフィドルを見てください:http://jsfiddle.net/gNFA3/ –

+0

素晴らしいプラグインメソッドをありがとう。 – TheNone

関連する問題