2017-03-08 60 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到一個函數,將其變成「彈出」。我不知道該如何解釋,對不起。我嘗試了第一個建議(說實話,不明白如何使用第二個你告訴我的。)所以,我編輯了這篇文章。希望現在更清楚。 –

+0

第二個函數是一個jQuery自定義函數,您可以像調用彈出窗口那樣調用它。而不是執行'$(element).flyout(...)',你可以做'$(element).createFlyout();'關於第一個函數不工作,你是否在控制檯中發現錯誤? – Santi

+0

你的第一個函數有'return document.getElementById('#'+ paramId).title;'。它應該*不*具有'#',因爲'getElementById'是一個原生的JS函數:'return document.getElementById(paramId).title;' – Santi