在混合内容博客文章中调用 Photoswipe
Invoking Photoswipe in mixed content blog posts
我在博客 post 上使用 Photoswipe,它包含混合内容,如图像,还有文本、视频等,而不是只有图像的单独画廊。对整个 post 执行 Photoswipe 似乎不仅仅适用于 <figure>
元素,所以我希望更具体一些。我想仅在 <figure>
元素上调用 Photoswipe,但我有点不知如何去做。
我认为这里的主要思想是这个变量:
var thumbElements = el.childNodes
...应该更具体一些。所以我需要这样的东西才能工作:
var allElements = el.childNodes,
thumbElements = allElements.getElementsByTagName("figure");
除非那不起作用。稍后在代码中,图形元素被单独定义:
figureEl = thumbElements[i]; // <figure> element
所以我有点迷路了...我很感激任何帮助。
好的,终于让我自己工作了。对于可能 运行 参与其中的任何其他人,这里有一个更好的解释,说明我需要做什么(我在这里最初的问题有点含糊),以及我是如何让它工作的。
在文档中,Photoswipe 提供了有关如何在图库上实施它的建议,请参阅 如何从链接列表 构建幻灯片数组部分 http://photoswipe.com/documentation/getting-started.html
此实现假设的是,您的画廊就是这样:只是图像的集合。但是,我在所有博客文章中都使用 Photoswipe,这些博客文章由混合内容组成,包括段落和视频等等。
提供的实现代码不允许开箱即用,因此我做了两个小调整以使其工作。
我改变了这个:
// include only element nodes
if(figureEl.nodeType !== 1) {
continue;
}
进入这个
// include only elements of the FIGURE name
if(figureEl.nodeName !== 'FIGURE') {
continue;
}
按照这个概念,这个:
if(childNodes[i].nodeType !== 1) {
continue;
}
进入这个:
if(childNodes[i].nodeName !== 'FIGURE') {
continue;
}
现在,Photoswipe 不会应用于所有元素节点,而只会应用于更具体的 FIGURE 元素类型的子节点:)
我在博客 post 上使用 Photoswipe,它包含混合内容,如图像,还有文本、视频等,而不是只有图像的单独画廊。对整个 post 执行 Photoswipe 似乎不仅仅适用于 <figure>
元素,所以我希望更具体一些。我想仅在 <figure>
元素上调用 Photoswipe,但我有点不知如何去做。
我认为这里的主要思想是这个变量:
var thumbElements = el.childNodes
...应该更具体一些。所以我需要这样的东西才能工作:
var allElements = el.childNodes,
thumbElements = allElements.getElementsByTagName("figure");
除非那不起作用。稍后在代码中,图形元素被单独定义:
figureEl = thumbElements[i]; // <figure> element
所以我有点迷路了...我很感激任何帮助。
好的,终于让我自己工作了。对于可能 运行 参与其中的任何其他人,这里有一个更好的解释,说明我需要做什么(我在这里最初的问题有点含糊),以及我是如何让它工作的。
在文档中,Photoswipe 提供了有关如何在图库上实施它的建议,请参阅 如何从链接列表 构建幻灯片数组部分 http://photoswipe.com/documentation/getting-started.html 此实现假设的是,您的画廊就是这样:只是图像的集合。但是,我在所有博客文章中都使用 Photoswipe,这些博客文章由混合内容组成,包括段落和视频等等。
提供的实现代码不允许开箱即用,因此我做了两个小调整以使其工作。
我改变了这个:
// include only element nodes
if(figureEl.nodeType !== 1) {
continue;
}
进入这个
// include only elements of the FIGURE name
if(figureEl.nodeName !== 'FIGURE') {
continue;
}
按照这个概念,这个:
if(childNodes[i].nodeType !== 1) {
continue;
}
进入这个:
if(childNodes[i].nodeName !== 'FIGURE') {
continue;
}
现在,Photoswipe 不会应用于所有元素节点,而只会应用于更具体的 FIGURE 元素类型的子节点:)