【问题标题】:Adding box below model image for text在模型图像下方添加框以显示文本
【发布时间】:2020-02-16 00:13:34
【问题描述】:

我正在为我的应用程序使用网格库。这个画廊正是我想要的。它完全适合我的需要,我不想改变它。但是,我需要对其进行两次更改,否则我的目的是不完整的。但我不知道该怎么做。所需的更改是:

  1. 单击图库中的图像时,会以模态格式弹出完整图像(看起来类似于引导模式)。问题是在单击屏幕上的任何位置(包括图像)时,图像会关闭。但是我不希望它在单击图像区域时关闭。只有在单击外部区域(暗区)时,它才会关闭。如何解决?

  2. 我想在图像下方添加一个白色文本框,该文本框适合图像大小(宽度),具体取决于图像(每个图像具有不同的宽度和高度)。此框将用于提供圆形用户 DP 及其用户名,单击该用户名将其带到另一个页面(例如用户的时间线)。如何创建这个盒子?

现在,需要注意的是,问题 1 与问题 2 相关,因为无法单击用户名,因为在完整图像打开后第一次单击屏幕上任何位置(包括图像)时,图像会关闭。

代码笔片段:[https://codepen.io/zoomkraft/pen/KKKNVXN][1]

[1]: https://www.codepen.io/zoomkraft/pen/KKKNVXN

【问题讨论】:

  • 您的 codepen 链接已损坏。请提供与问题相关的代码示例。
  • @JayJordan 请试试这个链接codepen.io/zoomkraft/pen/KKKNVXN
  • @JayJordan 我也修复了问题中的链接。

标签: javascript jquery html css gallery


【解决方案1】:
  1. 一种解决方案是在 click 事件处理程序上添加一个条件,以切换 gallery-item 元素上的完整类:
gallery.querySelectorAll(".gallery-item").forEach(function(item) {
  item.addEventListener("click", function(event) {
    // If image is in full mode and the click event was fired by an img or a element, do not toggle the full class
    if (item.classList.contains("full") && ['IMG', 'A'].includes(event.target.tagName)) {
      return;
    }
    item.classList.toggle("full");
  });
});

这是您编辑的代码笔:https://codepen.io/giuseppedeponte/pen/gOOLPya?editors=0010

  1. 要让您的链接从图像中动态获取其宽度,您可能应该在它们周围放置一个包装器。

【讨论】:

  • 完美解决了第一个问题。非常感谢。我真的很感谢你的努力。但我想关于第 2 点仍然存在一些混淆。因此,我创建了这个示例来描述我正在寻找的内容。请参阅此处的图片prnt.sc/plhqcr。我尝试添加此描述框,但每当我尝试在 content 类中添加 DIV 时,要么无法加载完整图像,要么 CSS 样式失真,因此难以纠正。请帮帮我。
猜你喜欢
  • 1970-01-01
  • 2016-02-04
  • 2021-10-17
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2015-09-19
  • 2013-05-01
相关资源
最近更新 更多