试图了解rerenderpin功能正在做什么?

时间:2013-10-09 12:40:15

标签: javascript jquery html pinterest

我是JavaScript的新手,正在帮助朋友维护他的网站。我唯一无法弄清楚他的index.html页面正在做什么,围绕着这段JavaScript代码。我在下面有几个问题。

<script type="text/javascript">
function reRenderPin() {
    for (var n in window) {
        if ( n.indexOf('PIN_') == 0 && $("a[data-pin-do]").length > 0)  {
            $("a[data-pin-do]").attr("id", "pinbutton");
            var element = document.getElementById('pinbutton');
            window[n].f.render.buttonBookmark( element );
        }
    }
}

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

$(document).bind("projectLoadComplete", function(e, pid) {
    reRenderPin();
});

</script>

<script type="text/javascript" src="//assets.pinterest.com/js/pinit.js"></script>

我对此进行了搜索,但没有一个回复对我很清楚。

我知道这与Pinterest有关,我知道reRenderPin()函数是在“document ready”时间和“projectLoadComplete”时间调用的。

我的问题是:

  1. reRenderPin()函数在做什么?

  2. projectLoadComplete事件何时发生?我对此进行了搜索,但关于它的信息非常少,而且对我来说并不清楚。

  3. 我注意到该函数使用“$”函数。我知道这是一个JQuery函数,但我对JQuery函数的理解是,如果你使用它们,你必须在你的html中有一个代码库的链接。页面上唯一的.js库是指向pinterest assests的库 - 请参阅代码。这个“$”函数如何在没有库的情况下工作?

  4. 非常感谢任何帮助?

    的问候,
    安吉洛

1 个答案:

答案 0 :(得分:0)

该脚本似乎是一个pinterest pin按钮脚本。

可能由您正在使用的CMS或模板插入

1)脚本可能在需要时插入jQuery

2)代码在窗口范围中查找以PIN_开头的变量,并查找带有data-pin-do和匹配函数窗口的链接[&#34; pin_something&#34;]。

3)projectLoadComplete由另一个脚本触发,当被触发时,调用reRender - 它似乎与称为货物的平台有关 - http://support.cargocollective.com/customer/portal/articles/708669-adding-a-pinterest-widget