Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript element.offset().top属性工作不正常_Javascript_Html_Css - Fatal编程技术网

Javascript element.offset().top属性工作不正常

Javascript element.offset().top属性工作不正常,javascript,html,css,Javascript,Html,Css,我有这个滚动条的自定义指令 'use strict'; define([ 'angular', './module', ], function (angular, directives) { directives.directive('ScrollPort', [ '$window', function ($window) { return {

我有这个滚动条的自定义指令

'use strict';
     define([
        'angular',
         './module',
         ], 
      function (angular, directives) {
        directives.directive('ScrollPort', [
      '$window',
      function ($window) {

         return {
            restrict: 'A',
            link: function (scope, element) {           
               function resizePort(element) {               
                  var minHeight = $(window).height() - element.offset().top;                  
                  element.css('min-height', minHeight + 'px');
                  element.css('max-height', minHeight + 'px');

               }

               resizePort(element);

               angular.element($window).bind('resize', function () {
                  resizePort(element);
               })
            }
         }
      }
   ])

});
我在html页面中使用的这个指令

<div class="row full-panle-body col-xs-12 col-md-12 col-sm-12 col-
    lg-12 scrollable" **scroll-port** ng-show="dataReady">

        <form name="addUserForm" class="form-horizontal" novalidate>

            <!-- Identity Provider -->
            <div class="row control-group"
                ng-class="{error:addUserForm.selectIdentityProvider.$dirty && !addUserForm.selectIdentityProvider.$valid, 
                     success:addUserForm.selectIdentityProvider.$valid}">
                <div class="col-xs-4 col-sm-4 col-md-3 col-lg-3 label-right">
                    <label class="control-label">{{::'label.user.identityProvider'|translate}}
                    </label> <label class="asterisk">*</label>
                </div>
                <div class="col-xs-8 col-sm-8 col-md-9 col-lg-9 controls">
                    <select id="selectIdentityProvider" name="selectIdentityProvider"
                        ui-select2="select2ProviderSettings"
                        ng-change="changedValue(addUser.identityProvider)"
                        ng-model="addUser.identityProvider" required autofocus>
                        <option></option>
                        <option value="SE">{{::'label.identifier.se'|translate}}</option>
                        <option value="UAA">{{::'lable.identifier.customer'|translate}}</option>
                    </select> <span class="help-block"
                        ng-show="addUserForm.selectIdentityProvider.$dirty && addUserForm.selectIdentityProvider.$error.required">{{::'error.required'|translate}}</span>
                </div>
            </div>
当滚动条没有出现时,所有字段的值都是

var minHeight = $(window).height() - element.offset().top;  

$(window).height()= 669
element.offset().top = 175
minheight is= 493.27272033691406
$(window).height()= 669
element.offset().top= 701
minheight is=  -32

值为负值,这就是为什么滚动条不出现的原因。如果有人能帮我的话。提前感谢

您是否确保在文档完成后执行此JS。准备好了吗?是的,它在数据完成后执行。。。