【问题标题】:Set hash to fancybox cause error将哈希设置为 fancybox 导致错误
【发布时间】:2018-06-04 08:05:25
【问题描述】:

我在我的项目中使用了 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

但我现在有错误

类型参数 '{ prevEffect: string;下一个效果:字符串; closeBtn:布尔值;箭头:布尔值;哈希:布尔值;之前...' 不能分配给“any[]”类型的参数。 对象字面量只能指定已知属性,而“任何[]”类型中不存在“prevEffect”。

没有 hash: false ,我没有这个。

我该如何解决这个问题?

【问题讨论】:

  • 你在使用打字稿吗?
  • 是的。我正在使用打字稿@Janis
  • 那么你需要“TypeScript 声明文件”。我不知道在某个地方是否有可用的。
  • 但是,所有其他属性都在工作@Janis
  • 我解决了@Janis的麻烦

标签: javascript jquery typescript fancybox


【解决方案1】:

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

这里是代码

 ($(".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>');
    },
  });

【讨论】:

    猜你喜欢
    • 2016-06-19
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 2014-10-11
    相关资源
    最近更新 更多