none
Template pronto. Os scripts JQuery não funcionam. RRS feed

  • Pergunta

  • Olá. Iniciei um projeto em ASP.Net MVC 4 / Razor no Visual Studio 2013. Peguei um tema na internet com algumas funções, animações e etc em jquery.

    Montei todo o layout, fiz as referências dos scripts e css na _Layout.cshtml, enfim.

    O problema é que quando rodo a aplicação e testo a animação, clicando e tal, ela não funciona. nem sinal de vida.

    Alguém tem alguma ideia do que pode ser? Faz tempo que eu não mexia com o MVC e já estou pra ficar maluco aqui. Imagino que não deve ser algo tão difícil, mas eu não estou enxergando.

    Desde já, obrigado a quem puder ajudar. Abraços.

    sábado, 11 de janeiro de 2014 17:02

Respostas

  • Olá,

    Prestando atenção no seu código, reparei que vc referencia os scripts Jquery 2 vezes, supondo que os scripts estão referenciados no bundle também:

    @Scripts.Render("~/bundles/jquery")
    
    
    <script src="@Url.Content("~/assets/js/jquery-1.8.3.min.js")"></script>

    Use apenas a referência normal 

    <script src="@Url.Content("~/assets/js/jquery-1.8.3.min.js")"></script>

    ou o bundle

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

    e veja se muda em algo.

    segunda-feira, 13 de janeiro de 2014 19:12

Todas as Respostas

  • Olá,

    Caso possa, poste seu código ai. Será mais fácil solucionar o seu problema vendo seu código.

    sábado, 11 de janeiro de 2014 19:35
  • Bom dia, Omnislash009.

    Então, meu layout padrão (_Layout.cshtml) está assim:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>@ViewBag.Title</title>
        <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <meta name="viewport" content="width=device-width" />
    
        @Styles.Render("~/Content/css")
        @Scripts.Render("~/bundles/modernizr")
    
        <link href="~/assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
        <link href="~/assets/css/metro.css" rel="stylesheet" />
        <link href="~/assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
        <link href="~/assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
        <link href="~/assets/css/style.css" rel="stylesheet" />
        <link href="~/assets/css/style_responsive.css" rel="stylesheet" />
        <link href="~/assets/css/style_default.css" rel="stylesheet" id="style_color" />>
    
    </head>
    
    <body class="fixed-top">
    
    (todo o código do body)
    (...)
    
    @Scripts.Render("~/bundles/jquery")
    @RenderSection("scripts", required: false)
    
    <script src="@Url.Content("~/assets/js/jquery-1.8.3.min.js")"></script>
    
    <script src="@Url.Content("~/assets/breakpoints/breakpoints.js")"></script>
    <script src="@Url.Content("~/assets/jquery-ui/jquery-ui-1.10.1.custom.min.js")"></script>
    <script src="@Url.Content("~/assets/jquery-slimscroll/jquery.slimscroll.min.js")"></script>
    <script src="@Url.Content("~/assets/fullcalendar/fullcalendar/fullcalendar.min.js")"></script>
    <script src="@Url.Content("~/assets/bootstrap/js/bootstrap.min.js")"></script>
    <script src="@Url.Content("~/assets/js/jquery.blockui.js")"></script>
    <script src="@Url.Content("~/assets/js/jquery.cookie.js")"></script>
    <script src="@Url.Content("~/assets/flot/jquery.flot.js")"></script>
    <script src="@Url.Content("~/assets/flot/jquery.flot.resize.js")"></script>
    <script src="@Url.Content("~/assets/gritter/js/jquery.gritter.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/assets/js/app.js")"></script>
    
        <script type="text/javascript">
            jQuery(document).ready(function () {
                App.setPage("index");
                App.init();
            });
        </script>
    
    </body>
    
    </html>

    e a minha view index.cshtml:

    @{
        Layout = "~/Areas/Administrativo/Views/Shared/_Layout.cshtml";
     }
    
    (todo o código aqui)

    O que acontece é o seguinte, o layout está normal. só os scripts que não funcionam. Exemplo:

    Ali onde eu circulei, existe um submenu. Quando clico, ele deveria abrir pra baixo, mas não acontece. Quando eu testo rodando o exemplo que baixei, funciona normalmente. Mas no meu projeto em asp.net mvc, não.

    Espero que eu tenha sido claro. Qualquer coisa que eu tenha esquecido, poste que eu corrijo.

    Abraços.



    segunda-feira, 13 de janeiro de 2014 12:12
  • Olá,

    Não vejo erros no seu código. Possivelmente, é algum script faltando ou conflito no Jquery. Seu navegador não tem retorna algum erro ?

    segunda-feira, 13 de janeiro de 2014 15:48
  • Não retorna erro. Também pensei na possibilidade de conflito. Mas eu uso apenas as versões 1.7.2 e 1.8.2 do jquery, sendo que não as uso juntas na mesma view.

    Tá complicado... rsrs

    segunda-feira, 13 de janeiro de 2014 17:13
  • Olá,

    Prestando atenção no seu código, reparei que vc referencia os scripts Jquery 2 vezes, supondo que os scripts estão referenciados no bundle também:

    @Scripts.Render("~/bundles/jquery")
    
    
    <script src="@Url.Content("~/assets/js/jquery-1.8.3.min.js")"></script>

    Use apenas a referência normal 

    <script src="@Url.Content("~/assets/js/jquery-1.8.3.min.js")"></script>

    ou o bundle

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

    e veja se muda em algo.

    segunda-feira, 13 de janeiro de 2014 19:12
  • É, tentei das duas formas e não mudou nada.. =/

    Eu sou bem novo no jquery, e essa parada tá me deixando doido! rs

    Valeu pela ajuda, cara!

    ======================= Edit =======================

    Cara, essa solução resolveu em partes, apesar de não ter ficado 100% foi de grande ajuda!

    Eu vacilei mesmo em ter referenciado 2 vezes no _Layout.

    Obrigado pela ajuda! Abraços.

    segunda-feira, 13 de janeiro de 2014 20:54