jquery 解除绑定的初始点击功能上的另一个按钮点击

jum4pzuy  于 2023-11-17  发布在  jQuery
关注(0)|答案(2)|浏览(99)

我有一个最初是隐藏的形式。有两个点击流的步骤,以达到形式。我需要重置初始点击动作时,形式关闭按钮被单击。
添加示例代码和演示。
开始了

  • 点击Join Now文本
  • 然后点击文本Click here to open the form文本
  • 然后单击close图标
  • 突然出现了

我现在需要知道的是
1.通过点击Yes,表单需要重置,屏幕应该看起来像最初的样子(带有join now文本的品牌名称框),join now的初始点击操作应该刷新。
1.通过点击No,它应该保持在同一个表单上。

$(".button").click(function(e){
        e.preventDefault();
        $(this).hide();
        $(".slidethis").fadeIn(800).css("display","inline-block");
        $(".wrapper").css("display","block");
    });

  $(".seconddiv").hide();
    //forstdiv click 
    $(".firstdiv").click(function(){        
        $(this).hide();
        $(".seconddiv").show();
    });

    //Close button 
    $(".close_icon").click(function(){      
        $(".popup").show();
    });

字符串

Demo Here

  • P.S:我不想通过关闭表单来刷新页面。*
km0tfn4u

km0tfn4u1#

添加这段代码就可以了。这是关于反转你的步骤:

$("input[value=Yes]").click(function(){
    //reset - reverse all the steps
    $(".button").show();
    $(".slidethis").fadeOut(800).css("display","none");
    $(".wrapper").css("display","inline-block");
    $(".popup").hide();
    $(".seconddiv").hide();
    $(".firstdiv").show();
});

$("input[value=No]").click(function(){
   $(".popup").hide();

});

字符串
更新小提琴:https://jsfiddle.net/5353ntuf/5/

rt4zxlrg

rt4zxlrg2#

Working fiddle

你应该在两个按钮YesNo上添加一个事件点击,所以给予它们一个公共类,例如confirm类:

<input type="button" class='confirm' value="Yes" />
<input type="button" class='confirm' value="No" />

字符串
然后添加一个条件来检查要执行的操作,例如:

//Confirm buttons
$("body").on("click", ".confirm", function() {
  $(".popup").hide();

  if ($(this).val() == 'No') 
  {
    $('form input').val(""); //Reset form
  } else {
    $(".seconddiv,.slidethis").hide();
    $(".firstdiv,.button").show();
    $(".wrapper").css("display", "inline-block");
  }
});

//slide open the main panel
$(".button").click(function(e) {
  e.preventDefault();
  $(this).hide();
  $(".slidethis").fadeIn(800).css("display", "inline-block");
  $(".wrapper").css("display", "block");
});

$(".seconddiv").hide();
//forstdiv click 
$(".firstdiv").click(function() {
  $(this).hide();
  $(".seconddiv").show();
});

//Close button 
$(".close_icon").click(function() {
  $(".popup").show();
});

//Confirm buttons
$("body").on("click", ".confirm", function() {
  $(".popup").hide();

  if ($(this).val() == 'No') {
    $('form input').val("");
  } else {
    $(".seconddiv,.slidethis").hide();
    $(".firstdiv,.button").show();
    $(".wrapper").css("display", "inline-block");
  }
});

x

.wrapper {
  background: #9ac366;
  display: inline-block;
}

.headcard {
  display: inline-block;
  text-align: center;
  padding: 3% 30px;
  float: left;
}

.slidethis {
  background: #b67fd8;
  padding: 20px 0;
  width: 70%;
  vertical-align: top;
  position: relative;
  height: 228px;
  display: none;
  position: relative
}

.firstdiv,
.seconddiv {
  width: 200px;
  border: #888 solid 2px;
  padding: 20px;
}

.close_icon {
  background: #333;
  color: #fff;
  padding: 4px;
  float: right;
  margin-top: -20px;
  text-decoration: none
}

.popup {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: #e4e4e4;
  text-align: center;
  padding-top: 5%;
  display: none
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="wrapper">
  <div class="headcard">
    <h4>Brand Name</h4>
    <a href="#" class="button">Join Now </a>
  </div>

  <!--this is hidden by default-->
  <div class="slidethis">

    <div class="firstdiv">
      Click here to open the form
    </div>

    <div class="seconddiv">
      <form>
        <a href="#" class="close_icon">X</a>
        <input placeholder="name" />
        <input placeholder="email" />
      </form>
      <!--close pop up-->
      <div class="popup">
        Closing will clear the form data. Do you want ot close?
        <br/>
        <input type="button" class='confirm' value="Yes" />
        <input type="button" class='confirm' value="No" />
      </div>
    </div>

  </div>
</div>

的一种或多种

相关问题