2011-01-12 3 views
0

나는이 scirpt를 작성했습니다 :사용자의 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(); 
}); 

가 나는 것을 알고

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(); 
} 

글로벌이 스크립트를 만들고 싶어 예를 들어 PHP 함수에 대한 유사하지 jQuery를 기능. 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