控制台返回未定义;评估返回正常值

时间:2020-03-23 22:24:01

标签: javascript jquery html css web

当我使用jquery .offset()或.position()函数时,它们总是返回未定义的。当我在控制台中键入它们时,会得到相同的结果,但是eval(?)返回正确的值。这是为什么?我是jquery的新手,所以有点困惑。

error img

html:

<!DOCTYPE html>

<head>
    <title>r</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="style.css">
    <script src="index.js"></script>
</head>

<body>

<div class="container">
    <div class="inner">

    </div>
  </div>
</body>

css:

body {
    height: 100%;
    width: 100%;
}

.container {
    width: 100%;
    position: relative;
    float: left;
    background: #fff;
    height: 1200px;
  }

  .inner {
    width: 150px;
    height: 100px;
    position: absolute;
    top: 20%;
    left: 10%;
    background: red;
  }

js:

var offset = $(".inner").offset();
$(window).scroll(function(event) {
  var st = $(this).scrollTop();
  $(".inner").css("left", st + offset.left);
});

0 个答案:

没有答案