【问题标题】:I want to display HTML page and NOT display an image. But the code is trying to open an image incorrectly我想显示 HTML 页面而不显示图像。但是代码试图错误地打开图像
【发布时间】:2018-07-12 10:46:03
【问题描述】:

有一个包含 6 张图片的 jquery magnific popup 画廊。我希望如果用户单击图片,他/她应该被定向到 html 页面(embedded.html)。我怎样才能做到这一点?。

原始代码(现在在网站上显示):

<div id="gallery" class="tm-content-box">
  <div class="grid tm-gallery">
    <figure class="effect-bubba">
      <img src="img/img-11-08.jpg" alt="Image 8">
      <figcaption>
        <h2>TEST</h2>

        <a href="img/img-11-07.jpg">View more</a>
      </figcaption>
    </figure>

我在上面(index.html)进行了如下修改。 (而不是显示img/img-11-07.jpg,我希望显示embedded.html):

<div id="gallery" class="tm-content-box">
  <div class="grid tm-gallery">
    <a href="embedded.html">
      <figure class="effect-bubba">
        <img src="img/img-11-08.jpg" alt="Image 8">
        <figcaption>
          <h2>TEST</h2>


        </figcaption>
      </figure>
    </a>

但它现在仍然无法正常工作。点击测试它说The image could not be loaded。如果我在此语句中进一步点击The image,我将成功重定向到embedded.html。

我知道有一些 CSS 干扰。请帮忙。如果您想了解更多信息,也请告诉我。

我已经下载了这个网站作为模板,我正在修改它的代码。

更新: 我已经在这里上传了整个网站的代码:

https://drive.google.com/drive/folders/13IURTJWYTXgifAO72AgTwomKaFNPFDkc

【问题讨论】:

  • 共有 4 个 CSS 文件。有没有办法可以将这些文件附加到这里的某个地方?我正在调查这个
  • 您可能需要联系模板开发人员。图完全由他的代码处理
  • 如果您不想要画廊,请不要使用画廊
  • 我已经上传了 4 个 CSS 文件。请参阅上面的问题部分。
  • CSS 在这里并不重要。主题开发人员似乎已经用 JavaScript 实现了这种“灯箱”功能,显然它只是在这个容器中寻找它可以找到的任何类型的链接,假设它指向一个实际的图像,当整个东西被点击时显示.所以你必须检查a)这是否可以通过主题设置完全禁用,或者b)有一些JavaScript在某处触发它可以相应地修改,[...]

标签: html css twitter-bootstrap image-gallery magnific-popup


【解决方案1】:

从概念上讲,您必须取消注册库附加的单击事件处理程序。具体来说,点击处理程序附加到包含应该触发 html 加载的锚点的 &lt;div class="tm grid gallery"&gt; 元素。因此,以下命令之一应该可以解决问题,具体取决于事件处理程序的注册方式(在使用 Chrome 开发工具的交互式测试中,unbindcall 就足够了)。

parent() 调用传递到锚点的 DOM 祖先中指定的 div 元素。如果您选择不同的子树结构,请调整:

$("a[href='embedded.html']").parent().off('click');
$("a[href='embedded.html']").parent().unbind('click');

何时调用此代码取决于画廊何时附加其事件处理程序。我建议在 ready 处理程序的末尾这样做。

【讨论】:

  • 感谢您的意见。我是 HTML CSS 的初学者。您能否告诉我必须修改代码的确切位置以及新代码本身。我已经上传了整个网站代码。查看顶部的链接
  • @Syed.Waris 对不起,我担心试错部分是你的——最后,这是你的项目,对吧?我将从head 元素末尾的新脚本元素开始,例如&lt;script&gt;$.ready(document)( () =&gt; { /*insert code from above */ });。这将在主页之后执行,包括。依赖资源已完全加载。 FWIW,我无法编辑你上传的谷歌文档。
  • +1。谢谢你的努力。实际上,您的策略看起来不错且优雅,但我以其他方式(有点粗略)纠正了这个问题。我会改进它,因为我将学习更多的 HTML、CSS Jquery。谢谢!!
猜你喜欢
  • 1970-01-01
  • 2021-10-12
  • 2012-08-20
  • 2013-12-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2020-10-12
  • 2018-05-30
相关资源
最近更新 更多