javascript函数和HTML中的文本转换/动画onclick
Text transition/animation onclick in javascript function and HTML
我有一个按钮在点击时触发此功能:
<button onclick="showAdvice()">Advice!</button>
<p id="text"></p>
<script>
function showAdvice() {
var advices = ["1","2","3"];
var choose = Math.floor(Math.random() * advices.length);
document.getElementById("text").innerHTML = advices[choose];
}
</script>
onclick
动作在"文本"段落中生成建议,它们以随机顺序出现。我希望它们在不透明度、淡出/淡入之间进行转换。我如何在CSS/JavaScript中实现这一点?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<style type="text/css" media="screen">
#pContainer {
position: relative;
overflow: hidden;
width: 200px;
height: 200px;
}
#pContainer > p {
position: absolute;
top: 0;
left: 0;
transition: opacity 0.5s linear;
}
#pContainer > p.show {
opacity: 1;
}
#pContainer > p.hide {
opacity: 0;
}
</style>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<button onclick="showAdvice()">Advice!</button>
<div id="pContainer">
<p id="text" class="show"></p>
<p id="text02" class="hide"></p>
</div>
<script>
function showAdvice() {
var advices = ["1","2","3"];
var choose = Math.floor(Math.random() * advices.length);
$('#pContainer p.hide')
.text(advices[choose])
.removeClass('hide')
.addClass('show')
.siblings('p')
.removeClass('show')
.addClass('hide');
}
</script>
</body>
</html>
您可以使用jquery创建动画。
function showAdvice() {
$("#text").hide();
var advices = ["1", "2", "3"];
var choose = Math.floor(Math.random() * advices.length);
document.getElementById("text").innerHTML = advices[choose];
$("#text").fadeIn();
}
示例:https://jsfiddle.net/90mxq8bf/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<style type="text/css" media="screen">
#pContainer {
position: relative;
overflow: hidden;
width: 200px;
height: 100px;
}
#pContainer > p {
position: absolute;
top: 0;
left: 0;
/* transition: opacity 0.5s linear; */
}
#pContainer > p.show {
/* opacity: 1; */
opacity: 1;
-webkit-animation: showP 0.85s linear;
}
#pContainer > p.hide {
/* opacity: 0; */
opacity: 0;
top: -50px;
-webkit-animation: hideP 0.85s linear;
}
@-webkit-keyframes showP {
0%{
opacity: 0;
top: -50px;
}
100%{
opacity: 1;
top: 0px
}
}
@-webkit-keyframes hideP {
0%{
opacity: 1;
top: 0px;
}
80%{
opacity: 0;
}
90%{
top: 105px; /* container height + 5*/
}
100%{
opacity: 0;
top: -50px;
}
}
</style>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<button onclick="showAdvice()">Advice!</button>
<div id="pContainer">
<p id="text" class="show"></p>
<p id="text02" class="hide"></p>
</div>
<script>
function showAdvice() {
var advices = ["1","2","3"];
var choose = Math.floor(Math.random() * advices.length);
$('#pContainer p.hide')
.text(advices[choose])
.removeClass('hide')
.addClass('show')
.siblings('p')
.removeClass('show')
.addClass('hide');
}
</script>
</body>
</html>
相关文章:
- -webkit转换在JavaScript旋转动画中不起作用(没有JQuery)
- 选项卡式元素上的动画CSS转换
- Raphael JS中的动画字体大小是否有流畅的转换可能性
- 使用动画将toggleClass('hidden')转换为.thoggle()
- 将画布动画转换为requestAnimationFrame将创建无限循环
- Angular JS具有在状态转换期间可见的来自两个不同状态的页面(用于动画目的)
- CSS不透明度转换;在动画过程中不考虑覆盖不透明度
- javascript函数和HTML中的文本转换/动画onclick
- jQuery SVG插件转换动画错误
- 将YouTube/Vimeo视频转换为无声的动画图像(想想哈利波特中的“动态图片”)
- 将 jQuery 递归动画转换为 requestAnimationFrame
- 如何将动画例程转换为通用的、可重用的 jQuery 函数
- “转换”文本框到带有滑动动画的文本区域
- 将 css 动画转换为 jquery
- 将 css3 动画转换为画布动画的任何方法
- 在图表 svg 条形图上的值之间设置动画转换
- 转换/动画化DOM元素的创建/移除
- 谷歌图表转换动画:如何在重新绘制图表时更改轴标签
- 当单击同一按钮时强制转换动画
- 如何在没有任何悬停的情况下运行css转换动画