【问题标题】:Can't call JavaScript Function from JQuery无法从 JQuery 调用 JavaScript 函数
【发布时间】:2018-04-08 15:07:56
【问题描述】:

我正在尝试从我的jQuery Function 调用我的JavaScript Function,但它似乎没有在 jQuery 末尾调用函数showMain()

见下文:我试图在 .click 函数的末尾调用 showMain() 函数。 代码:

$(document).ready(function () {  
        $('.slideshowExit').click(function () {
                setTimeout(function() {
                    $("#welcomeText").fadeOut(2000);
                },1000);
            $("#welcomePage").css("display", "none");

            //The function I am trying to Call
            showMain();
            });    




    function showMain() {
        var main= document.getElementById("mainDiv");
        main.style.display = 'block';

【问题讨论】:

  • 制作小提琴,或发布 HTML
  • 从 jquery 调用之前定义函数
  • 但是showMain应该被提升(函数提升)。
  • 它应该可以工作..看看小提琴jsfiddle.net/bLjLz0m5/1在你的情况下它因为其他条件或错误而无法工作
  • 只需清理并正确对齐您的代码,您就会自己看到错误。

标签: javascript jquery call


【解决方案1】:

您应该使用匿名函数。

$(document).ready(function () {
    $('.slideshowExit').click(function () {
        setTimeout(function () {
            $("#welcomeText").fadeOut(2000);
        }, 1000);
        $("#welcomePage").css("display", "none");

        //The function I am trying to Call
        showMain();
    });
});


var showMain = function () {
    var main = document.getElementById("mainDiv");
    main.style.display = 'block';
};

【讨论】:

    【解决方案2】:

    您的函数定义有误。请在函数后使用右括号"}"

    我正在尝试从我的 jQuery 函数调用我的 JavaScript 函数,但它似乎没有在 jQuery 末尾调用函数 showMain()

    见下文:我试图在 .click 函数的末尾调用 showMain() 函数。代码:

    $(document).ready(function () {  
        $('.slideshowExit').click(function () {
           setTimeout(function() {
           $("#welcomeText").fadeOut(2000);
        },1000);
    
        $("#welcomePage").css("display", "none");
        //The function I am trying to Call
        showMain();
     });    
    
    function showMain() {
        var main= document.getElementById("mainDiv");
        main.style.display = 'block';
    }
    

    【讨论】:

      【解决方案3】:

      可运行代码:

      $(document).ready(function () {
          $('.slideshowExit').click(function () {
              setTimeout(function () {
                  $("#welcomeText").fadeOut(500);
              }, 1000);
              $("#welcomePage").css("display", "none");
      
              //The function I am trying to Call
              showMain();
          });
      })
      
      
      
          function showMain() {
              var main = document.getElementById("mainDiv");
              main.style.display = 'block';
          }
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
      
      <div class="slideshowExit">
        Click Here
      </div>
      
      <div id="mainDiv">
        <div id="welcomeText">Welcome to India</div>
      </div>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-27
        • 2013-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多