如何在一个 js 事件中启用和禁用 css 转换?

天臣

我在重新定位有时应该有过渡的元素时遇到了麻烦,有时没有。

这些操作可以很好地隔离,但视图似乎没有在组合操作中途更新。解决办法是什么?

$(document).ready(function() {
  $('#goLeft').on('click',function() {
    $('#box').removeClass('soft');
    $('#box').css('left','300px');
  });
  $('#goRight').on('click',function() {
    $('#box').addClass('soft');
    $('#box').css('left','400px');
  });
  $('#goLeftAndRight').on('click',function() {
    //copy
    $('#box').removeClass('soft');
    $('#box').css('left','300px');
    //Need for timeout?
    //copy
    $('#box').addClass('soft');
    $('#box').css('left','400px');    
  });
});
h2 {
  cursor:pointer;
}

#box {
  position: fixed;
  top:100px;
  left:400px;
  height:100px;
  width:100px;
  background-color:#358;
}

#box p {
  padding:5px;
  color:#fff;
  text-align:center;
}

.soft {
  transition: all 0.3s ease-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
  <body>
    <h2 id="goLeft">jump left</h2>
    <h2 id="goRight">slide right</h2>
    <h2 id="goLeftAndRight">jump left and slide right</h2>
    <div id="box"><p>use headers to move</div>
  </body>
</html>
      

吉辛拉吉公关

有两种方法可以做到——

1# - 结合你的功能CSS animation

$(document).ready(function() {
  $('#goLeft').on('click', function() {
    $('#box').removeClass('soft left-right');
    $('#box').css('left', '300px');
  });
  $('#goRight').on('click', function() {
    $('#box').addClass('soft').removeClass('left-right');
    $('#box').css('left', '400px');
  });
  $('#goLeftAndRight').on('click', function() {
    $('#box').addClass('left-right').removeClass('soft');
  });
});
h2 {
  cursor: pointer;
}

#box {
  position: fixed;
  top: 100px;
  left: 400px;
  height: 100px;
  width: 100px;
  background-color: #358;
}

#box p {
  padding: 5px;
  color: #fff;
  text-align: center;
}

.soft {
  transition: all 0.3s ease-out;
}
@keyframes leftRight{
  0%{left:300px}
  100%{left:400px}
}

.left-right{
  left:400px
  animation: leftRight 0.3s forwards ease-in-out;
  -webkit-animation: leftRight 0.3s forwards ease-in-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>

<body>
  <h2 id="goLeft">jump left</h2>
  <h2 id="goRight">slide right</h2>
  <h2 id="goLeftAndRight">jump left and slide right</h2>
  <div id="box">
    <p>use headers to move</div>
</body>

</html>

2# - 将您的功能与setTimeout功能相结合

$(document).ready(function() {
  $('#goLeft').on('click',function() {
    $('#box').removeClass('soft');
    $('#box').css('left','300px');
  });
  $('#goRight').on('click',function() {
    $('#box').addClass('soft');
    $('#box').css('left','400px');
  });
  $('#goLeftAndRight').on('click',function() {
    //copy
    $('#box').removeClass('soft');
    $('#box').css('left','300px');
     setTimeout(function() {
       $('#box').addClass('soft');
       $('#box').css('left','400px'); 
     }, 300);

       
  });
});
h2 {
  cursor:pointer;
}

#box {
  position: fixed;
  top:100px;
  left:400px;
  height:100px;
  width:100px;
  background-color:#358;
}

#box p {
  padding:5px;
  color:#fff;
  text-align:center;
}

.soft {
  transition: all 0.3s ease-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
  <body>
    <h2 id="goLeft">jump left</h2>
    <h2 id="goRight">slide right</h2>
    <h2 id="goLeftAndRight">jump left and slide right</h2>
    <div id="box"><p>use headers to move</div>
  </body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何组合 JS 事件和 CSS 转换时间?

来自分类Dev

IE CSS转换中的一个像素问题

来自分类Dev

JS:css属性和值在一个变量中

来自分类Dev

如何在不干扰同一页面上的另一个PartialView的情况下将JS和CSS文件指定为特定的PartialView?

来自分类Dev

如何在angular js指令中启用第一个输入焦点

来自分类Dev

如何从一个HTML文件加载所有CSS和JS?

来自分类Dev

如何从一个html文件加载所有CSS和JS?

来自分类Dev

如何使用css和js创建一个被动波浪效果按钮

来自分类Dev

如何在CSS中向右定位并让项目低于一个和另一个

来自分类Dev

如何在PHP Storm 10.0.3中启用.js和.css文件的自动最小化?

来自分类Dev

我如何在js中的另一个js文件中包含一个js文件

来自分类Dev

如何在CSS中组合转换?

来自分类Dev

如何在video.js中添加上一个和下一个按钮

来自分类Dev

如何在一个函数中更改css的输入样式和某些文本?

来自分类Dev

如何在一个jquery“ .css()”中为一个文本添加多个文本阴影

来自分类Dev

如何在JS中的另一个函数中导入和使用函数

来自分类Dev

如何启用和禁用onclick事件

来自分类Dev

如何在Three.JS中的一个BufferGeometry中合并两个BufferGeometries?

来自分类Dev

如何在一个Nginx配置中设置两个Node.js应用

来自分类Dev

如何在 HTML/CSS 中创建一个元素,里面有一个矩形,里面左侧有一个半圆?

来自分类Dev

如何在自己的js文件中利用一个js文件中的预定义方法?

来自分类Dev

如何在另一个文件中的一个js文件中使用变量?

来自分类Dev

如何在Raphael JS中将一个元素放置在另一个元素中?

来自分类Dev

Vue.js - 如何在数组中显示一个对象,该数组在一个对象内?

来自分类Dev

如何使用Visual Studio在另一个项目中共享一个项目的CSS和JS文件?

来自分类Dev

如何在React JS中启用/禁用数组中的元素?

来自分类Dev

PhoneGap中只有一个CSS转换有效

来自分类Dev

如何在create-react-app中启用Autoprefixer CSS Grid转换而不使用控件注释?

来自分类Dev

如何防止仅在一个Rails控制器上加载CSS和JS工作表?

Related 相关文章

  1. 1

    如何组合 JS 事件和 CSS 转换时间?

  2. 2

    IE CSS转换中的一个像素问题

  3. 3

    JS:css属性和值在一个变量中

  4. 4

    如何在不干扰同一页面上的另一个PartialView的情况下将JS和CSS文件指定为特定的PartialView?

  5. 5

    如何在angular js指令中启用第一个输入焦点

  6. 6

    如何从一个HTML文件加载所有CSS和JS?

  7. 7

    如何从一个html文件加载所有CSS和JS?

  8. 8

    如何使用css和js创建一个被动波浪效果按钮

  9. 9

    如何在CSS中向右定位并让项目低于一个和另一个

  10. 10

    如何在PHP Storm 10.0.3中启用.js和.css文件的自动最小化?

  11. 11

    我如何在js中的另一个js文件中包含一个js文件

  12. 12

    如何在CSS中组合转换?

  13. 13

    如何在video.js中添加上一个和下一个按钮

  14. 14

    如何在一个函数中更改css的输入样式和某些文本?

  15. 15

    如何在一个jquery“ .css()”中为一个文本添加多个文本阴影

  16. 16

    如何在JS中的另一个函数中导入和使用函数

  17. 17

    如何启用和禁用onclick事件

  18. 18

    如何在Three.JS中的一个BufferGeometry中合并两个BufferGeometries?

  19. 19

    如何在一个Nginx配置中设置两个Node.js应用

  20. 20

    如何在 HTML/CSS 中创建一个元素,里面有一个矩形,里面左侧有一个半圆?

  21. 21

    如何在自己的js文件中利用一个js文件中的预定义方法?

  22. 22

    如何在另一个文件中的一个js文件中使用变量?

  23. 23

    如何在Raphael JS中将一个元素放置在另一个元素中?

  24. 24

    Vue.js - 如何在数组中显示一个对象,该数组在一个对象内?

  25. 25

    如何使用Visual Studio在另一个项目中共享一个项目的CSS和JS文件?

  26. 26

    如何在React JS中启用/禁用数组中的元素?

  27. 27

    PhoneGap中只有一个CSS转换有效

  28. 28

    如何在create-react-app中启用Autoprefixer CSS Grid转换而不使用控件注释?

  29. 29

    如何防止仅在一个Rails控制器上加载CSS和JS工作表?

热门标签

归档