簡體   English   中英

從另一個JavaScript函數中調用jQuery(模式彈出窗口)函數

[英]Calling jQuery (modal popup) function from within another JavaScript function

我正在嘗試調用一個面盒模式框(流播放器的jQuery工具)。
我有一個選擇菜單, onChange正在調用我的sub_debt腳本。 sub_debt腳本評估選擇菜單的value == 1 -如果value == 1 (對於“是”),我想調用標題中定義的facebox模態。

當前,下面的代碼正在調用facebox模式“有點”-它將選擇菜單從頁面上的位置“移出”,好像它是facebox模式彈出窗口本身的唯一部分,並將深色背景蒙版應用於頁面的其余部分。

(注意:例如,當從錨標記中調用時,facebox模態腳本可以正常工作)

    <head>

    <script src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>

    <!-- Popups : Facebox -->
    <script>
    function popup(choosebox) {
            var $choosebox = $("#" + choosebox);

            if ($choosebox.hasClass("init")) {
                    $choosebox.overlay().load();
            }
            else {
                    $choosebox.addClass("init");
                    $choosebox.overlay({

             // custom top position
             top: 260,

             mask: { color: '#838383',
                     loadSpeed: 200,
                     opacity: 0.5
             },  
             closeOnClick: true,
             load: true
            });
    }
    }
    </script>

    </head>
    <body>


    <script type="text/javascript">
    function subdebt(choosebox){
        var myField = document.getElementById('subordinate_debt');
        if(myField.value == "1") {
            popup(choosebox); // Calls above function from defined in header
        } else {
            alert("Do not fire popup - you entered: " + myField.value);
        }   
    }
    </script>


    <select name="subordinate_debt" id="subordinate_debt" onchange='subdebt("subordinate_debt");'>
        <option value="" selected="selected"></option>
        <option value="0">No</option>
        <option value="1">Yes</option>
    </select>

這是因為您確實將選擇的ID設置為面板的內容。 您想傳遞另一個div的/元素的ID作為Facebox的內容。

例如:

...
<div id="SHOWME" style="display: none;">
Inside facebox
</div>

<select name="subordinate_debt" id="subordinate_debt" onchange='subdebt("SHOWME");'>

...

以下更改有效。 (感謝“ Amit Soni”-oDesk.com承包商)

<script type="text/javascript">
function subdebt(choosebox){
    var myField = document.getElementById('subordinate_debt');
if(myField.value == "1") {
    popup("subordinate_debt_Popup");
} else {
alert("Do not fire popup - you entered: " + myField.value);
}   
}
</script>

並將“ subordinate_debt” DIV ID更改為“ subordinate_debt_Popup”

<div id="subordinate_debt_Popup" class="facebox">.....</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM