2017-03-08 59 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