JavaScript路点只在页面未完成加载时触发?

时间:2015-12-12 06:35:40

标签: javascript angularjs timeout jquery-waypoints

我第一次使用JavaScript Waypoints(无框架)。

加载延迟2秒后,我有一个非路点元素淡入页面。

当你向下滚动时,我的第一个航点会触发一个console.log,但是如果我向下滚动到第一个延迟项仍然淡入,但是如果第一个项完成了它,那么它所附加的图像只会淡入在我向下滚动之前淡入,航点触发但它所附着的图像不会出现。

我正在使用ng-show来显示图像。

JS:

Multiple inheritance from classes 'UIViewController' and 'UITableViewController'

HTML:

$scope.radarImage = false;

var waypoint = new Waypoint({
    element: document.getElementById('radarImageTrigger'),
    handler: function(direction) {
      console.log('Radar hit:', direction);
      if (direction === 'down') {
        $scope.radarImage = true;
        console.log($scope.radarImage);
      }
    },
    offset: '80%'
  })

这是问题的GIF:

https://drive.google.com/file/d/0B5UbHNPxudsYTXVmVUVTQ1NvaWs/view?usp=sharing

是否可能与航路点功能无法触发摘要周期有关?

1 个答案:

答案 0 :(得分:0)

想出来了!

航点功能即使已添加到监视列表,也未触发摘要周期。

我在重置$scope.$apply变量后在函数中添加了$scope.radarImage,它会立即根据需要进行操作!

该功能现在看起来像:

$scope.radarImage = false;

var waypoint = new Waypoint({
    element: document.getElementById('radarImageTrigger'),
    handler: function(direction) {
      console.log('Radar hit:', direction);
      if (direction === 'down') {
        $scope.radarImage = true;
        **$scope.$apply();**
        console.log($scope.radarImage);
      }
    },
    offset: '80%'
  })