0

なぜfloatingboxプラグインが私のページの右下にdivコンテナを配置できなかったのかといつも思っていました。 http://www.phpletter.com/Demo/Jquery-Floating-Box-Plugin/ 今日、firebugで自分のサイトをチェックしたところ、次のエラーが見つかりました。

$( "#thediv")。floatingは関数ではありません

オンライン:$( "#thediv")。floating({targetX: "right"、targetY: "bottom"});

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

<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/jquery.floatingbox.js"></script>
<script type="text/javascript">
    jQuery.noConflict();
    jQuery(document).ready(
        function(){
            jQuery("#thediv").floating({targetX:"right", targetY:"bottom"});
        }
    );
</script>

フローティング関数は、プラグインで次のように作成されます。

jQuery.fn.floating = function(options)
{
    return jQuery(this).each(

        function(i)
        {
            var nextIndex = 0;
            for(var index in funcFloating)
            {
                nextIndex = parseInt(index);
            }
            funcFloating[nextIndex + 1] = {};
            funcFloating[nextIndex + 1].box = this;
            funcFloating[nextIndex + 1].obj = new floatingBox(this, options, (nextIndex + 1));
            funcFloating[nextIndex + 1].func = function(){ funcFloating[nextIndex + 1].obj.doFloat(); };
            if (document.layers)
            {
                funcFloating[nextIndex + 1].obj.init();
            }else
            {

                funcFloating[nextIndex + 1].obj.init();
                funcFloating[nextIndex + 1].obj.initSecondary();
            }

        }
    );
};

これを修正するにはどうすればよいですか?プラグインのサンプルページでソースコードを見ると、自分のページと同じコードが使用されていることがわかります。

これがある種の競合エラーである場合、(「$(ドキュメント)」内の)「$」を最初に使用すると、すでにエラーが発生していませんか?

4

2 に答える 2

1

さて、関数がjQueryオブジェクトのプロトタイプでfloating()定義されていることを確認しますか?$.fn

  1. フローティングボックスのjsファイルが正しく含まれていることを確認してください
  2. $プラグインがプロトタイプを拡張しようとするときにオブジェクトが存在するように、jqueryインクルードの後に​​あることを確認してください。

編集:コードサンプルによると、それは正しい順序で含まれています。問題を確認できるリンクはありますか?

于 2010-12-02T16:47:18.140 に答える
0

このプラグイン? もしそうなら、例のためにそのページのソースを見てください。1:

$('#moving_box1').floatingBox({
    scale : 0.3,
    blur : true,
    isText : false,
    xOffset : 235,
    yOffset: 185,
});

于 2010-12-02T16:44:40.343 に答える