将哈希设置为fancybox导致错误

时间:2018-06-04 08:05:26

标签: javascript jquery typescript fancybox

我在项目中使用fancybox

这是代码

 $(".hotel_gallery").attr("data-fancybox", "quick-view")
  .fancybox({
    prevEffect: "none",
    nextEffect: "none",
    closeBtn: true,
    arrows: true,
    hash: false,
    beforeShow(): void {
      this.title = this.src;
    },
    afterLoad(instance, current ): void{
      if ( instance.group.length > 1 && current.$content ) {
        current.$content.append('<a data-fancybox-next class="button-next" href="javascript:;">→</a><a data-fancybox-previous class="button-previous" href="javascript:;">←</a>');
      }
      current.$content.append('<a data-fancybox-close class="button-close" href="javascript:;">×</a>');
    },
  });

我尝试设置hash: false

但我现在有错误

  

类型的参数&#39; {prevEffect:string; nextEffect:string; closeBtn:boolean; arrows:boolean; hash:boolean; befo ...&#39;不能分配给&#39;任何[]&#39;类型的参数。     对象文字只能指定已知属性,并且&#39; prevEffect&#39;类型&#39;任何[]&#39;。

中不存在

没有hash: false,我没有。

我如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

所以我能够通过代码重写来解决这个问题

这是代码

 ($(".hotel_gallery") as any).attr("data-fancybox", "gallery")
  .fancybox({
    prevEffect: "none",
    nextEffect: "none",
    closeBtn: true,
    arrows: true,
    hash: false,
    beforeShow(): void {
      this.title = this.src;
    },
    afterLoad(instance, current ): void {
      if ( instance.group.length > 1 && current.$content ) {
        current.$content.append('<a data-fancybox-next class="button-next" href="javascript:;">→</a><a data-fancybox-previous class="button-previous" href="javascript:;">←</a>');
      }
      current.$content.append('<a data-fancybox-close class="button-close" href="javascript:;">×</a>');
    },
  });