javascript - 如何在单击按钮或链接时使用 javascript 或 jquery 动态制作或创建 Binder ?

标签 javascript jquery html css

<分区>

我制作了翻转卡片,当您将鼠标悬停在它们上方时会翻转。但是,我制作了一个链接/按钮,以便在单击它时将创建一个新的 Binder 。无法实现这一点......一些帮助将不胜感激......这里也是新的! 下面是我的事件卡片的 html 和 css 代码:

$(document).ready(function() {
  $("#new").click(function() {
    $("card effect__hover").clone().insertAfter(thi);
  });
});
html {
  background: url(index_bg.jpg) no-repeat;
  background-size: cover;
}
.card {
  position: relative;
  float: left;
  width: 200px;
  height: 200px;
  text-align: center;
  margin-top: 100px;
}
.card:nth-child(1) {
  margin-top: 100px;
  margin-left: 100px;
  margin-right: 8px;
}
.card:nth-child(2) {
  margin-top: 100px;
  margin-right: 8px;
}
.card.effect__ADD {
  margin-left: 8px;
}
.card__front,
.card__back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card__front,
.card__back {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
}
.card__front {
  background-color: blue;
}
.card__back {
  background-color: orange;
  transform: rotateY(-180deg);
}
.card.effect__hover:hover .card__front {
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
}
.card.effect__hover:hover .card__back {
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
}
.card.effect__ADD:hover .card__front {
  -webkit-transform: rotateX(-180deg);
  transform: rotateX(-180deg);
}
.card.effect__ADD:hover .card__back {
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
}
span > p {
  margin-top: 80px;
  font-family: Arial;
  font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<head>
  <title>Read</title>
  <script type="text/javascript" src="jquery.min.js"></script>
  <script type="text/javascript" src="custom.js"></script>
  <link href="read.css" rel="stylesheet">
</head>

<body>
  <div class="card effect__hover">
    <div class="card__front">
      <span class="card__text"></span>
    </div>
    <div class="card__back">
      <span class="card__text"></span>
    </div>
  </div>
  </div>

  <div class="card effect__hover">
    <div class="card__front">
      <span class="card__text"></span>
    </div>
    <div class="card__back">
      <span class="card__text"></span>
    </div>
  </div>

  <div class="card effect__hover">
    <div class="card__front">
      <span class="card__text"></span>
    </div>
    <div class="card__back">
      <span class="card__text"></span>
    </div>
  </div>

  <a href="" class="new">
    <div class="card effect__ADD">
      <div class="card__front">
        <span class="card__text"></span>
      </div>
      <div class="card__back">
        <span class="card__text"><p>Add Your Story</p></span>
      </div>
    </div>
  </a>


</body>

</html>

如果可以用 jquery 完成,我将不胜感激

最佳答案

如本 JSFiddle , 我已经为 <a class="new"> 添加了一个事件监听器选择它,然后在单击事件时阻止其默认操作。之后,我克隆了第一个卡片元素并将其插入到(添加您的故事)链接之前,这样我们始终将该链接放在底部

$(document).ready(function(){ 
	$('.new').on('click', function(event){
        event.preventDefault();
       $('.card').first().clone().insertBefore($('.new'));    
    });
});
.card {
    margin:5px;
    position: relative;
    float: left;
    width: 200px;
    height: 200px;
    text-align: center;
    margin-top: 50px;
}
.card:nth-child(1) {
    margin-top: 100px;
    margin-left: 100px;
    margin-right: 8px;
}
.card:nth-child(2) {
    margin-top: 100px;
    margin-right: 8px;
}
.card.effect__ADD {
    margin-left: 8px;
}
.card__front, .card__back {
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
}
.card__front, .card__back {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
}
.card__front {
    background-color:blue;
}
.card__back {
    background-color:orange;
    transform: rotateY(-180deg);
}
.card.effect__hover:hover .card__front {
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
}
.card.effect__hover:hover .card__back {
    -webkit-transform: rotateY(0);
    transform: rotateY(0);
}
.card.effect__ADD:hover .card__front {
    -webkit-transform: rotateX(-180deg);
    transform: rotateX(-180deg);
}
.card.effect__ADD:hover .card__back {
    -webkit-transform: rotateX(0);
    transform: rotateX(0);
}
span > p {
    margin-top: 80px;
    font-family:Arial;
    font-weight:bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="card effect__hover">
  <div class="card__front"> <span class="card__text"></span>

  </div>
  <div class="card__back"> <span class="card__text"></span>

  </div>
</div>
</div>
<div class="card effect__hover">
  <div class="card__front"> <span class="card__text"></span>

  </div>
  <div class="card__back"> <span class="card__text"></span>

  </div>
</div>
<div class="card effect__hover">
  <div class="card__front"> <span class="card__text"></span>

  </div>
  <div class="card__back"> <span class="card__text"></span>

  </div>
</div>
<a href="" class="new">
  <div class="card effect__ADD">
    <div class="card__front">
      <span class="card__text"></span>
    </div>
    <div class="card__back">
      <span class="card__text"><p>Add Your Story</p></span>
    </div>
  </div>
</a>

请注意,您可能需要为翻转卡片添加边距以在它们之间留出间隙

评论更新:

翻牌乱排是因为:

  1. .card你有 CSS float: left; , 删除它并添加这一行 display:inline-block; , 这会将它们排在同一行上
  2. .card:nth-child(1) css 删除这两行 margin-top: 100px;margin-left: 100px; ,通过这样做,您将省略第一张卡片之前不需要的间隙。 完成上述操作后,您将得到的结果如下 JSFiddle

关于javascript - 如何在单击按钮或链接时使用 javascript 或 jquery 动态制作或创建 Binder ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33460731/

相关文章:

javascript - 此 JavaScript 代码能否可靠地区分相对 URL 和绝对 URL?

javascript - jQuery 位置 DIV 固定在滚动上

javascript - JS Slice() 不能正常工作

html - CSS3 分词 Firefox 和 Chrome 输出不同

html - 向右扩展一个 div 到页面底部

javascript - 无法使用 Bootstrap 和 Node 获取 POST 数据

javascript - 如何循环访问 VueJS 中的组件列表

javascript - 使用其他下拉选项动态更改下拉选项

javascript - Reactjs setState 箭头函数语法

jquery - 如何随机化每个循环项和 jquery 中的 ajax/json 数据?