Javascript匿名函数同步

Javascript匿名函数同步,javascript,synchronization,Javascript,Synchronization,简单地说,我正在尝试同步joomla网站中使用widgetkit库创建的两个幻灯片,例如,当用户单击其中一个幻灯片上的下一个幻灯片时,另一个幻灯片也会在slideshow.js中运行nextSlide函数。上一次也一样。我遇到的问题是widgetkit使用匿名函数来创建这些幻灯片,并且在创建之后我没有全局引用。由于我有限的编程知识,我似乎无法在单击处理程序中触发其他幻灯片的nextSlide函数 如果有人能看一看,那将是非常受欢迎的 编辑: 当然,我忘了链接示例网页 我的类似于只有2个幻灯片,但

简单地说,我正在尝试同步joomla网站中使用widgetkit库创建的两个幻灯片,例如,当用户单击其中一个幻灯片上的下一个幻灯片时,另一个幻灯片也会在slideshow.js中运行nextSlide函数。上一次也一样。我遇到的问题是widgetkit使用匿名函数来创建这些幻灯片,并且在创建之后我没有全局引用。由于我有限的编程知识,我似乎无法在单击处理程序中触发其他幻灯片的nextSlide函数

如果有人能看一看,那将是非常受欢迎的

编辑:

当然,我忘了链接示例网页


我的类似于只有2个幻灯片,但仍然只在本地服务器上。

这里简要介绍一下widgetkit是一个可能的解决方案。使用jquery,您可以搜索包含一个幻灯片类且子级为next的任何对象,然后单击所有其他对象。下面提供的代码没有经过测试,但应该为您指明正确的方向。只要不调用“停止传播”或“防止默认”,那么原始的单击处理程序仍应启动

var slideshow_count = $('.slides .next').length;
var cascade_countdown = 0;

$('.slides .next').each(function() {
  $(this).click(function() {

    // stop an infinite loop if we're already cascading till we've done it for all the elements.
    if(cascade_countdown != 0) {
     cascade_countdown--;
     return true;
    }

    // we don't include the slideshow we're clicking in this count
    cascade_countdown = slideshow_count - 1;
    var clicked_el = this;

    $('.slides .next').each(function() {
      // only click elements that aren't the initiator
      if(this !== clicked_el) {
        $(this).click();
      }
    });
  });
});

看看什么?我们能看看你到目前为止得到了什么吗?请发布一些相关的代码,欢迎来到Stack Overflow。我想你忘了在我们可以看到代码的地方添加一个引用。请编辑您的帖子。我希望在widgetkit点击处理程序中保留逻辑,但我想我需要了解更多关于javascript中函数和对象如何工作的信息。您提议的外部授权/过载工作正常,非常感谢!