0

如何使用 if else 语句禁用 jquery 函数。我的问题是我有两个打开 onClick 的文本框,它们被设置为切换,但是我如何设置它以便如果其中一个框打开,另一个框不会打开我的 jquery 是

$(".first1").on('click', 
  function () {
    $('#suitsyou').toggle();
  });
$(".last1").on('click', 
  function () {
      $('#dealsandoffers').toggle() 
  });

查看我的网站http://www.jeremyspence.net78.net可能更容易,它位于包选项卡中,您可以看到,当您单击一个选项卡然后单击另一个选项卡而不关闭第一个选项卡时,它们都打开

html是

    <div id="suitsyou" style="display:none">

    </div>

    <div id="dealsandoffers" style="display:none"> 

    </div>

没有包含内容,所以不要放这么多代码

4

3 回答 3

1

无需进行太多更改,您可以简单地显示正确的一个,然后隐藏另一个,在工作之间切换效果很好。虽然我不得不承认,这不是一个优雅的解决方案,但如果这是你想要的,它应该可以解决问题。

$(".first1").on('click', 
  function () {
   $('#dealsandoffers').hide()
    $('#suitsyou').show();
  });
$(".last1").on('click', 
  function () {
      $('#suitsyou').hide()
      $('#dealsandoffers').show() 
  });
于 2013-02-06T01:33:24.377 回答
1

一个简单的条件应该可以工作:

$(".first").on('click', function () {
    if (!$("#dealsandoffers:visible").length) {
        $("#suitesyou").toggle();
    }
});

如果您需要更多的灵活性,请使用类。这也不是特别用户友好。在我看来,您想关闭另一个,然后显示当前单击的那个。

于 2013-02-06T01:34:28.263 回答
0

Explosion Pills,您对如何在单击按钮时切换两个不同的 DIV 是正确的。正如你所说,

在我看来,您想关闭另一个,然后显示当前单击的那个。

为此,您只需将 jQuery 切换应用到两个视图。在我的解决方案中,我放置了一个 ID 为“btnToggle”的切换按钮,然后像这样添加了两个 div 标签。重要的是不要让备用视图“lastView”具有显示样式:无。这允许备用视图的初始状态开始为不可见。

我希望这被证明是有帮助的,并感谢您为解决我的问题提供了先机。

$("#btnToggle").on('click', function() {
  $("#firstView").toggle();
  $("#lastView").toggle();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<button id="btnToggle" class="btn btn-primary">Toggle Views</button>

<div id="firstView">
  <h2>First View</h2>
  <p>I am the default view. I will be displayed when the view renders.</p>
  <p>Then I will gracefully hide when the toggle button is clicked.</p>
</div>

<div id="lastView" style="display: none">
  <h2>Alternate View</h2>
  <p>I am the alternate view. I will be quietly standing by invisible until the toggle button is clicked.</p>
</div>

于 2020-04-08T21:01:27.213 回答