首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >被未定义的函数粘住

被未定义的函数粘住
EN

Stack Overflow用户
提问于 2020-10-10 14:19:25
回答 2查看 81关注 0票数 0

我对javascript很陌生,我就停留在这里:有一个较小的图像,它表示正常大小的img,单击它时,我想打开另一个div中的更大的图像,我还有其他的图像。

代码语言:javascript
复制
<li>
  <div>
    <span>
          <img onclick="cimgOpenning('ci-1')" src="resim/live-30.jpg" alt="asd" />
        </span>
  </div>
  <div>
    <div id="ci-1" class="cimg">
      <img src="resim/live-30.jpg" alt="" />
    </div>
  </div>
</li>
<li>
  <div>
    <span>
          <img onclick="cimgOpenning('ci-2')" src="resim/live-31.jpg" alt="asd" />
        </span>
  </div>
  <div>
    <div id="ci-2" class="cimg">
      <img src="resim/live-31.jpg" alt="" />
    </div>
  </div>
</li>
<script>
  function cimgOpenning(e) {
    if (document.getElementById(e).style.maxWidth == "0") {
      document.getElementById(e).style.maxWidth = "100px";
    } else {
      document.getElementById(e).style.maxWidth = "0";
    }
  }
</script>

我想要的是,当用户单击任何较小的图像时,都会打开自身的更大图像,但我会不断地得到未定义的错误。

EDİT:我好像在下面吵了一架,很抱歉。我尽力收集这部分的代码,但最好的是这一段:琴杆

代码有点混乱,但请耐心点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-10 14:45:17

要做到这一点,您可以尝试如下:小图像

代码语言:javascript
复制
      <span>
      <img onclick="cimgOpenning(this)" src="resim/live-30.jpg" alt="asd" />
      </span>

其他div显示更大的图像

代码语言:javascript
复制
      <div id="ci-2" style="display:none; width:100%" class="cimg">
      <img src="empty" alt="" />
      </div>

javascript

代码语言:javascript
复制
function cimgOpenning(e) {
var smallImageSrc = e.getAttribute("src");
var bigImageContainer = document.getElementsByClassName("cimg")[0];
var bigImage = bigImageContainer.getElementsByTagName("img")[0];
bigImage.src = smallImageSrc;
bigImageContainer.style.display = "block"
}

该函数将获取调用函数的任何小图像的src属性,然后将src设置为较大图像的src,并将较大图像容器的“显示无”替换为“显示块”样式,即它将显示它,这是希望这对您有所帮助吗?

票数 0
EN

Stack Overflow用户

发布于 2020-10-10 14:26:51

我只是添加了一个背景,高度,和一个默认的最大宽度来查看变化。

我还颠倒了条件,因为document.getElementById(e).style.maxWidth从一个空字符串开始。如果它是空的或者是0,我把宽度设为100‘s。

代码语言:javascript
复制
.cimg {
  max-width: 0px;
  background: black;
  height: 100px;
}
代码语言:javascript
复制
<li>
  <div>
    <span>
      <img onclick="cimgOpenning('ci-1')" src="resim/live-30.jpg" alt="asd" />
    </span>
  </div>
  <div>
    <div id="ci-1" class="cimg">
      <img src="resim/live-30.jpg" alt="" />
    </div>
  </div>
</li>
<li>
  <div>
    <span>
      <img onclick="cimgOpenning('ci-2')" src="resim/live-31.jpg" alt="asd" />
    </span>
  </div>
  <div>
    <div id="ci-2" class="cimg">
      <img src="resim/live-31.jpg" alt="" />
    </div>
  </div>
</li>

<script>
  function cimgOpenning(e) {
    if (document.getElementById(e).style.maxWidth == "100px") {
      document.getElementById(e).style.maxWidth = "0px";
    } else {
      document.getElementById(e).style.maxWidth = "100px";
    }
  }
</script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64294416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档