【问题标题】:Open Span tag on image click点击图片时打开 Span 标签
【发布时间】:2015-04-06 16:16:55
【问题描述】:

单击特定图像时,我需要打开、显示和关闭其他 span 标签。

$("#img1").on('click', function() {
  $("#div1").fadeIn();
  $("#div2,#div3").fadeOut();
});
$("#img2").on('click', function() {
  $("#div2").fadeIn();
  $("#div1,#div3").fadeOut();
});
$("#img3").on('click', function() {
  $("#div3").fadeIn();
  $("#div1,#div2").fadeOut();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<img src="css/imagens/missao2.png" alt="missao" id="img1" />
<img src="css/imagens/missao2.png" alt="missao" id="img2" />
<img src="css/imagens/missao2.png" alt="missao" id="img3" />

<span id="div1" style="display:none;position:absolute;border:3px solid blue;">Span 1</span>
<span id="div2" style="display:none;position:absolute;border:3px solid blue;">Span 2</span>
<span id="div3" style="display:none;position:absolute;border:3px solid blue;">Span 3</span>

【问题讨论】:

  • “开放跨度标签”到底是什么意思?显示?
  • 它似乎工作...jsfiddle.net/rfornal/0pgxp9ov(更改跨度文本)...
  • 您的原始代码没有链接到 jQuery 库。 j08691 添加了它,您的代码在 StackOverflow 编辑器上不起作用。尝试将 jQuery 库链接添加到您的页面,验证它是否正确(如果已链接)。
  • 尝试使用更易读的文本:jsfiddle.net/jkup9Lsy
  • 您的代码运行良好jsfiddle.net/u7c5u8o6

标签: javascript jquery css


【解决方案1】:

工作正常 - 如果您只包含 jQuery(您还没有完成,但有人为您编辑了它)

嗯,关于“打开跨度标签”的意思还有一个悬而未决的问题,但我假设show。

编辑:

我从 cmets 看到您的代码在 p 中,样式为 display:none。这不起作用,因为整个块将被隐藏/不显示,包括里面的任何元素。跳过包装器中的display:none(外部p)!

<p class="txt_h"><!-- code here is fine --></p>

作为替代方案,您可以在单击项目时切换外部p 的可见性。请参阅下面的 sn-p。

$('#showthings').click(function() {
  $('.txt_h').show();
});

$("#img1").on('click', function() {
  $("#div1").fadeIn();
  $("#div2,#div3").fadeOut();
});
$("#img2").on('click', function() {
  $("#div2").fadeIn();
  $("#div1,#div3").fadeOut();
});
$("#img3").on('click', function() {
  $("#div3").fadeIn();
  $("#div1,#div2").fadeOut();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="showthings">Click to show images</span>
<p class="txt_h" style="display:none;">
<img src="css/imagens/missao2.png" alt="missao" id="img1" />
<img src="css/imagens/missao2.png" alt="missao" id="img2" />
<img src="css/imagens/missao2.png" alt="missao" id="img3" />

   
<span id="div1" style="display:none;position:absolute;border:3px solid blue;">DIV1</span>
<span id="div2" style="display:none;position:absolute;border:3px solid blue;">DIV2</span>
<span id="div3" style="display:none;position:absolute;border:3px solid blue;">DIV3</span>
</p>

【讨论】:

  • 一切都在 p 内,不显示,当该选项可见时,我需要将其作为一个选项,p 是隐藏的,但是当 p 可见时,我可以单击图像并显示特定的跨度
  • 在这种情况下什么都不会显示,但是有一个选项可以让
  • @RicardoSimoes 好的,我已经在上面的 sn-p 中模拟了您的代码。它仍然可以正常工作。还缺少什么?
  • @RicardoSimoes 有很多。如果您希望我们找出答案,您将不得不分享更多代码。如果您的 jquery 版本低于 1.7,这也会使您的代码无法工作(不支持 .on)
  • 让我做一个在线演示给大家看看。 brb
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
  • 2015-12-15
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 1970-01-01
相关资源
最近更新 更多