2

我正在使用一个简单的脚本来重新加载一个 div

$('#mydiv').fadeOut('300').load('# #mydiv').fadeIn("300");

问题是我正在重新加载的 div 里面有 Facebook like 按钮。DIV 重新加载后,我可以看到它在源代码中更新,但由于某种原因该按钮被隐藏了。

有没有办法强制按钮重新绘制?

4

2 回答 2

2

正如我在评论中所说,我认为这.load被误解了,正如您在问题中所说

我可以在源代码中看到它已更新,但由于某种原因该按钮被隐藏了

..因此,考虑到这一点,我假设您的负载使用正确的参数运行。

你这里有一个同步问题。您在链中使用的所有内容都使用时间刻度,.load()因此是异步的。

因此,您必须使用回调来了解特定函数的时间尺度何时结束,而不是仅仅链接所有内容。

$('#myDiv').fadeIn('300', function() {
  // callback when #myDiv is faded out (display:none;)
  $(this).load('url', function() {
    // callback when #myDiv is loaded with new content from the given 'url'
    $(this).fadeIn('300');
  })
});
于 2012-09-16T13:59:37.293 回答
0

facebook 按钮不会显示,因为它是在 document.load 之后正常配置的。

如果您在文档已加载且 Facebook javascript SDK 已初始化时加载 div 内容。它行不通。

如果在 div 加载之前不需要 facebook。您可以尝试在 div 中加载“all.js”脚本。

否则,如果您遇到这种情况,您肯定必须审查应用程序的设计。

于 2012-09-16T13:50:20.777 回答