2017-03-08 11 views
0

"フライアウト"にする関数にIDを渡したいと思います。Jquery - 関数にパラメータを渡す

私の基本コードは次のとおりです。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="target_anchor1" href="#" title="XXXXXXXXXX">test 1</a> 
 

 
<script type="text/javascript"> 
 
    $(function() { 
 
    $('#target_anchor1').flyout({ 
 
     title: '', 
 
     content: function() { 
 
     return document.getElementById('target_anchor1').title; 
 
     }, 
 
     html: true, 
 
     dismissible: true 
 
    }); 
 
    }); 
 
</script>

私は、動的にこれをしたいので、私は機能を試してみました。 関数はパラメータを取得しますが、フライアウトを作成しません。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="target_anchor1" href="#" title="XXXXXXXXXX" onclick="anchorFlyout(this.id)">test 1</a> 
 
<a id="target_anchor2" href="#" title="YYYYYYYYYY" onclick="anchorFlyout(this.id)">test 2</a> 
 
<a id="target_anchor3" href="#" title="ZZZZZZZZZZ" onclick="anchorFlyout(this.id)">test 3</a> 
 

 
<script type="text/javascript"> 
 
    function anchorFlyout(paramId) { 
 
    alert(paramId); 
 
    $('#' + paramId).flyout({ 
 
     title: '', 
 
     content: function() { 
 
     return document.getElementById(paramId).title; 
 
     }, 
 
     html: true, 
 
     dismissible: true 
 
    }); 
 
    } 
 
</script>

コードはhttp://www.jqueryscript.net/demo/Simple-Customizable-Tooltip-Popover-Plugin-Flyout

任意のアイデアから取られていますか?

+0

あなたの質問は – Andrew

+0

@Andrew今何について非常にほとんど意味がありませんか? –

+0

「フライアウト」は本当ですか? Stack Exchangeのエラーはそうではないと私に伝えます。 – OldBunny2800

答えて

1

ただ、通常の関数を作成し、その中にjqueryの文を持っている:

function anchorFlyout(paramId) { 
    $("#" + paramId).flyout({ 
     title: '',  
     content: function() { 
      return document.getElementById(paramId).title; 
     }, 
     html: true, 
     dismissible: true 
    }); 
}; 
anchorFlyout("target_anchor1") 
+0

はこれを試しましたが、フライアウトを作成しません。私はコードを編集しました。 –

+0

まあ、関数を呼び出す必要があります: 'anchorFlyout(" target_anchor1 ")' – OldBunny2800

+0

@ OldBunny2800私はそれを行いました、上記のコードをチェックしてください。私はそれを編集した。 –

1

あなただけの「フライアウト」にそれをオンに関数にIDを渡すことができるようにしたいですか?

function createFlyout(elementID) { 
    $("#"+elementID).flyout({ 
     title: '',  
     content: function() { 
      return document.getElementById(elementID).title; 
     }, 
     html: true, 
     dismissible: true 
    }); 
} 

それとも、カスタムjQueryの関数を使用することができます...

$.fn.createFlyout = function() { 

    this.flyout({ 
     title: '',  
     content: function() { 
      return this.attr("title"); 
     }, 
     html: true, 
     dismissible: true 
    }); 

    return this; 
} 
$("#myDiv").createFlyout(); 
+0

IDを "フライアウト"に変換する関数に渡したいと思います。私はそれを説明する方法を知らなかった、申し訳ありません。私は最初の提案を試みました(正直で、あなたが私に言った2番目の方法を理解する方法を理解していませんでした)。今はっきりしていることを願っています。 –

+0

2番目の関数はjQueryカスタム関数です。フライアウトを呼び出すのと同じように呼び出すことができます。 '$(element).flyout(...)'を実行する代わりに '$(element).createFlyout();'を実行するだけでよい。 – Santi

+0

最初の関数に 'return document.getElementById( '#' + paramId).title;'があります。 'getElementById'はネイティブJS関数であるため、'# 'を持たないはずです: 'return document.getElementById(paramId).title;' – Santi

関連する問題