gpt4 book ai didi

javascript - 在 Tumblr 中加载更多笔记时运行一个函数

转载 作者:行者123 更新时间:2023-11-29 22:24:54 26 4
gpt4 key购买 nike

我制作了一个脚本来控制我的主题中笔记的外观,这对于随页面加载的笔记非常有效。尝试加载更多笔记时出现问题 - 我需要在它们上重新运行我的脚本 - 我的问题是我该怎么做?

这是 tumblr 在加载更多笔记时运行的脚本(这是一个 onclick 事件):

if (window.ActiveXObject) var tumblrReq=new ActiveXObject('Microsoft.XMLHTTP'); 
else
if(window.XMLHttpRequest) var tumblrReq=new XMLHttpRequest();
else return false;
tumblrReq.onreadystatechange = function () {
if (tumblrReq.readyState==4) {
var notes_html = tumblrReq.responseText.split('<!-- START '+'NOTES -->')[1].split('<!-- END '+'NOTES -->')[0];
if (window.tumblrNotesLoaded)
if (tumblrNotesLoaded(notes_html)==false)
return;
var more_notes_link=document.getElementById('more_notes_20767443750');
var notes = more_notes_link.parentNode;
notes.removeChild(more_notes_link);
notes.innerHTML+=notes_html;
if (window.tumblrNotesInserted)
tumblrNotesInserted(notes_html);
}
};

tumblrReq.open('GET','/notes/20767443750/iRC0TZaQr?from_c=1334227072',true);
tumblrReq.send();
return false;

我想做的是创建一个函数,该函数将在每次加载更多笔记的实例中调用,它将这些新笔记作为变量,对它们运行一个函数,用符号替换一些文本,然后将它们附加到现有的 Isotope 设置中,例如在使用 Infinite Scroll 加载新页面时。

This link here是我正在处理的博客的永久链接页面之一,您可以在其中看到我在说什么。 Here是来自 tumblr 文档的引用资料。

我很感激任何的想法,因为它们可能会引导我朝着正确的方向前进!

最佳答案

好吧,事实证明我自己的方向是正确的,只是编写了一个太乱的代码,但它现在可以工作了,所以我会详细说明如何,以便其他人可以使用这些信息:

function tumblrNotesLoaded(notes_html){  //this will be called when loading notes

//code goes here!

};

我把它放在任何其他函数之外,我认为这个术语是“在全局命名空间中”,所以我对加载新笔记时需要调用的每个函数都做了。

为了将它附加到同位素墙(我想它也适用于 Masonry,只是更改了一些关键字),我将其添加到代码中:

var newtmbnotes =  $("li.note:not(.isotope-item)");

这会选择所有未被 Isotope 定位的音符元素(插件将类“isotope-item”添加到它处理的每个项目)。这使选择只剩下新的音符。

$('ol.notes').isotope( 'appended', newtmbnotes, introNote() );

最后是这个,它附加了之前定义的新音符,然后运行一个名为 introNote 的函数,一旦它们准备就绪,我就让它们淡入。

关于javascript - 在 Tumblr 中加载更多笔记时运行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10138876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com