如何在不打破其中一个插件的情况下在另一个插件中使用JQuery插件?

时间:2013-09-05 15:24:59

标签: javascript html function jquery

使用下面的代码我使用JQuery Flip插件生成翻转效果。在“verso”属性中,我有一个标识为#ddlBookletType的选择菜单。该ID用于触发另一个创建下拉菜单的JQuery插件。

我拥有html(在verso属性中)的方式是打破下拉插件。如果我删除翻转功能,那么我的下拉工作。

问题:

我可以做些什么来确保在使用翻盖插件的同时,我不会破坏在标识为ddlBookletType的翻转插件中使用的下拉插件?

代码:

<script type="text/javascript">
        function allflip() {
            flip();
            flip2();
        }
        function flip2() {
            $("#fb_flip").on("click", function (e) {
                $(".flip_stuff").flippy({
                    color_target: "transparent",
                    direction: "top",
                    duration: "750",
                    verso: "<select id='ddlBookletType'>" +
                    "<option value='<%=(int)Booklet.BookletTypeEnum.EventOne %>'>" +
                        "<%=Booklet.BookletTypeEnum.EventOne.GetDescription() %></option>" +
                    "<option value='<%=(int)Booklet.BookletTypeEnum.EventTwo %>'>" +
                        "<%=Booklet.BookletTypeEnum.EventTwo.GetDescription()%></option>" +
                    "<option value='<%=(int)Booklet.BookletTypeEnum.EventThree %>'>" +
                        "<%=Booklet.BookletTypeEnum.EventThree.GetDescription()%></option>" +
                    "<option value='<%=(int)Booklet.BookletTypeEnum.EventFour %>'>" +
                        "<%=Booklet.BookletTypeEnum.EventFour.GetDescription()%></option>" +
                    "<option value='<%=(int)Booklet.BookletTypeEnum.EventFive %>'>" +
                        "<%=Booklet.BookletTypeEnum.EventFive.GetDescription()%></option>" +
                "</select>",
                    onFinish: function () {

                        $("#back").on("click", function (e) {
                            $(".flip_stuff").flippyReverse();
                            setTimeout(function () {
                                allflip();
                            }, 1000);
                        });
                    }
                });
                e.preventDefault();
            });
        }
        $(document).ready(function () { flip2(); });
    </script>

    <script type="text/javascript">
        $("#back").on("click", function (e) {
            $(".flip_stuff").flippyReverse();
        });
    </script>

1 个答案:

答案 0 :(得分:1)

尝试将代码包装在闭包中。你可能会破坏全局命名空间。

(function () {
  var flip = function () {
    ...
  };
}());