与angularJS pswp未定义的Photoswipe

时间:2015-01-09 00:04:48

标签: angularjs photoswipe

我非常想成为第一个网页的初学者。我正在使用棱角分明的路线。每个入门文档包含所需photoswipe html的页面将注入index.html。我得到以下错误。 "未捕获的TypeError:无法读取属性' firstChild'未定义"它指向photoswipe.js(var node = ....)

的第66行
getChildByClass: function(parentEl, childClassName) {
    var node = parentEl.firstChild;
    while(node) {
        if( framework.hasClass(node, childClassName) ) {
            return node;
        }
        node = node.nextSibling;
    }

在通过代码的parentEL之后,我按照入门文档再次获得所需js的第一行。

    var pswpElement = document.querySelectorAll('.pswp')[0];

添加console.log(pswpElement)会返回undefined,我认为这是根本问题。 doc说,class = pswp必须是photoswipe的根元素的类。它是在我的路由定义中为/ gallery注入的html页面的根元素中。我也尝试将其添加到每个元素,包括我的index.html页面中包含ng-view的div。 pswpElement总是以未定义的形式返回。

任何将photoswipe与棱镜相结合的帮助都将非常受欢迎。

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,如果您启用了jquery或其他一些javascript工具,只需在页面完全加载后运行photoswipe函数。

$(document).ready(function() {
    openPhotoSwipe();
});

你需要在你的html中将photoswipe javascript封装在一个函数中,或者将javascript移动到页面的底部..

" undefined"错误来了,因为它尝试在尚未加载时开始搜索.pswp类...