JackBox-响应式灯箱-图像查看器,使用Javascript函数代替href

时间:2018-12-06 22:21:34

标签: javascript parameters href

这是一个远景...。但我希望有人能提供帮助。

我使用的是JackBox-响应式灯箱-它可以在静态HTML上正常工作,但我想更改代码以使其更具灵活性。

我使用DataTables并使用模型来查看更多详细信息-包括主要资产的照片以及如果“区域/资产被排除”的图像-因此列表中可能有100项。

如果我使用静态链接:

<a class="jackbox data-group="text_link"  data-title="Text Link"
href="/system/showImage.php? 
subFolder=assetPhotos/Legionella/Assets&filename=main121212.jpg">View</a>

一切正常...

但是,如果全局变量 exclusion 设置为“ main121212.jpg ”,我将以上内容更改为:

<a class="jackbox"  data-group="text_link"  data-title="Text Link" 
href="javascript:showImageForJackBox('assetPhotos/Asbestos/Assets', 
'exclusion')">View</a>

,并将函数 showImageForJackBox 声明为:

  showImageForJackBox = function(path,outImageFile) {
     switch (outImageFile.toString()) {
        case "exclusion":
           theFile = exclusion ;
           break;
        default:
           theFile = "" ;
     }

     location.href = "'/system/showImage.php?subFolder=" + path + "&filename=" + theFile ;           
  }

我在firebox的调试器控制台中收到一条错误消息:

referenceError:showImageForJackBox未定义 javascript:showImageForJackBox('assetPhotos / Asbestos / Assets','exclusion'):1:1

有人对我如何确保引用该功能有任何想法。

在此先感谢您提供的帮助

1 个答案:

答案 0 :(得分:0)

蠢货!

我只需要更改“属性”-因此在AJAX调用中找到要排除的文件名后...我只是更改了href和data-thumbnail属性!

           exclusionPhoto = data.exclusionPhoto ;
           if (exclusionPhoto === null ) { exclusionPhoto = "" ;}

           var a = document.getElementById('viewExclusionPhoto');
           a.setAttribute("href", "/system/showImage.php?subFolder=assetPhotos/Asbestos/Assets&filename=" + exclusionPhoto);
           a.setAttribute("data-thumbnail", "/system/showImage.php?subFolder=assetPhotos/Asbestos/Assets&filename=" + exclusionPhoto);