1

私はラウンドアバウトの Jquery カルーセル プラグインに問題があり、ここでいくつかの回答を調べましたが、まだ問題を解決できません。

MVC 4 アプリに適用しようとしているカルーセルがあります。次のようなバンドルに含まれています。

  public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                    "~/Scripts/jquery-ui-{version}.js"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery.unobtrusive*",
                    "~/Scripts/jquery.validate*"));
        bundles.Add(new ScriptBundle("~/bundles/jquerycarousel").Include(
                    "~/Scripts/jquery.roundabout.js"));

これは私の_layoutページに次のようにリンクされています:

  @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jquerycarousel") 
        <script>
        $(document).ready(function () {
            $('ul').roundabout();
        });

バンドルを使用せずに (基本的な HTML を使用する IE)、スクリプト ソースに直接レンダリングするスクリプトを使用して試しましたが、問題は同じままです。

エラーは次のとおりです。

Uncaught TypeError: Object [object Object] has no method 'roundabout'

ただし、chrome インスペクターでは、ヘッダー タグを開くと、roundabout.JS ファイルをクリックして直接移動できるため、正常に参照されている必要があります。これは Jquery にも当てはまり、必要なファイルは 2 つだけです!

以下は、2 つの「リンク可能な」スクリプト ファイルとドキュメント準備スクリプトを示す図です。

Chrome Inspector でのエラーの表示

Javascript は私の長所ではありません :( だから、どんな助けでも大歓迎です。

どうもありがとう!

4

1 に答える 1

0

わかりました、私はそれを修正したようです。MVC 4 は、次のように、レイアウト ページの下部の終了タグの直前に jquery をレンダリング (参照?) することがわかります。

 @Scripts.Render("~/bundles/jquery")

これは何らかの理由で機能しませんでした。私はそれを削除し、スクリプト レンダリング バージョンをタグの一番上に保持しました。これで問題が解決したようです。

これが同じ問題を抱えている人の助けになることを願っています!

于 2013-03-05T15:14:58.430 に答える