Jquery:如何获取变量外部事件函数

时间:2016-03-21 06:17:53

标签: javascript jquery sticky

这是我的代码。

   /**
     Sticky Header
    **/
    var $h_height;

    $(".site-header").sticky({
        topSpacing:0,
    });
    $('.site-header').on('sticky-start', function() {
        $h_height = $(this).outerHeight();
    });
    $('.site-header').on('sticky-end', function() { $(this).parent().css('height', 'auto'); });

    console.log($h_height);

我想把我们的变量($ h_height)放在函数之外。 我用console.log来显示。它显示未定义

1 个答案:

答案 0 :(得分:1)

在Jquery中创建全局变量

var a_href;
jQuery(function(){
    $('sth a').on('click', function(e){
        a_href = $(this).attr('href');

          console.log(a_href);  
         //output is href value of clicked link

        e.preventDefault();
    }
})

如果要使用Console.log打印值,请记住我们在某些事件触发后设置其值。所以默认情况下,它的值可能是未定义的,因为默认情况下它是未定义的,并且在我的情况下像click事件这样的特定事件后它的值被设置

Jquery小提琴演示如何在Jquery中触发全局变量的值

//Global Variable 
var a_href;

//Global Variable Value Triggered After Button1 Click
 $('#bt').on('click', function(e){
        a_href = $("#tx").val();

   alert(a_href);
          //console.log(a_href);  
         //output is href value of clicked link

        e.preventDefault();
    });
    
    //Global Variable Value Triggered After Button2 Click
     $('#bt1').on('click', function(e){
        a_href = $("#tx1").val();

       alert(a_href);
          //console.log(a_href);  
         //output is href value of clicked link

        e.preventDefault();
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" value="hh" id="tx" />
<input type="button" value="Button1" id="bt" />
<br/>
<br/>
<input type="text" value="hh1" id="tx1" />

<input type="button" value="Button2" id="bt1" />