jquery动画效果实例_动画js

天天见闻 天天见闻 2023-07-25 教育 阅读: 67
摘要: 开始视频<;distance;button>;var btn=document.querySelector(“button”);Box.style.left=“800px”;/script>;var Box=document.querySelector(“#Box”);function animation(target;clearInterval(Timer);
  • JS动画实现
    • 概述
    • 匀速动画
    • 缓速动画
    • 无缝连续滚动特效
    • 轮播图
    • 轮播图淡入淡出效果
JS动画实现 概述
  • 在CSS3中可以通过transition过渡属性可以实现动画
  • JS可以利用CSS3中的transition属性实现元素动画
匀速动画

JS封装匀速动画


var btn = document.querySelector("#btn");
var Box = document.querySelector("#Box");
var timer = null;
var left = 0;
function animation(target, distance, time) { 

var each = parseInt(distance / time * 30);
clearInterval(timer);
timer = setInterval(function() { 

if (left >= distance) { 

clearInterval(timer);
} else { 

left += each;
target.style.left = left + "px";
}
}, 30);
};
btn.onclick = function() { 

animation(Box, 800, 2000);
};

利用CSS transition属性实现平滑动画效果


缓速动画
var btn = document.querySelector("#btn");
var Box = document.querySelector("#Box");
var timer = null;
var left = 0;
function animation(target, distance) { 

clearInterval(timer);
timer = setInterval(function() { 

if (left >= distance) { 

clearInterval(timer);
} else { 

var step = (distance - left) / 10;
step = step > 0 ? Math.ceil(step) : Math.floor(step);
left += step;
target.style.left = left + "px";
}
}, 30);
};
btn.onclick = function() { 

animation(Box, 800);
};
无缝连续滚动特效
* { 

margin: 0;
padding: 0;
}
.banner { 

width: 1000px;
height: 130px;
border: 1px solid red;
margin: 50px auto;
overflow: hidden;
}
.banner ul { 

list-style: none;
width: 5000px;
position: relative;
}
.banner ul li { 

float: left;
margin-right: 10px;
}
var banner = document.querySelector("#banner");
var list = document.querySelector("#list");
list.innerHTML += list.innerHTML;
var left = 0;
var timer = null;
startMove();
function startMove() { 

clearInterval(timer);
timer = setInterval(function() { 

left -= 4;
if (left <= -1260) { 

left = 0;
}
list.style.left = left + "px";
}, 20);
}
function stopMove() { 

clearInterval(timer);
}
banner.onmouseenter = function() { 

stopMove();
};
banner.onmouseleave = function() { 

startMove();
};
轮播图
* { 

margin: 0;
padding: 0;
}
.banner { 

width: 650px;
height: 360px;
border: 1px solid red;
margin: 50px auto;
overflow: hidden;
position: relative;
}
.banner ul { 

list-style: none;
width: 5000px;
height: 100%;
position: relative;
left: 0;
}
.banner ul li { 

float: left;
}
.banner ul li img { 

width: 650px;
height: 360px;
}
.banner a { 

text-decoration: none;
color: white;
text-align: center;
line-height: 50px;
}
.banner .left-btn { 

position: absolute;
width: 50px;
height: 50px;
left: 20px;
top: 50%;
margin-top: -25px;
background-color: rgba(0, 0, 0, .5);
border-radius: 50%;
}
.banner .right-btn { 

position: absolute;
width: 50px;
height: 50px;
right: 20px;
top: 50%;
margin-top: -25px;
background-color: rgba(0, 0, 0, .5);
border-radius: 50%;
}
var banner = document.querySelector("#banner");
var dot = document.querySelector("#banner #dot");
var list = document.querySelector("#list");
var leftBtn = document.querySelector("#leftBtn");
var rightBtn = document.querySelector("#rightBtn");
var firstLi = list.lastElementChild.cloneNode(true);
var lastLi = list.firstElementChild.cloneNode(true);
list.insertBefore(firstLi, list.firstElementChild);
list.appendChild(lastLi);
//总长度
var length = list.childElementCount;
//当前显示第几页
var index = 1;
//节流锁
var lock = false;
function setPage(index) { 

list.style.transition = "left .5s ease 0s";
list.style.left = -index * 650 + "px";
}
setPage(index);
rightBtn.onclick = function() { 

if (lock) { 

return;
}
lock = true;
index++;
setPage(index);
if (index === length - 1) { 

setTimeout(function() { 

index = 1;
list.style.transition = "none";
list.style.left = -index * 650 + "px";
}, 500);
}
setTimeout(function() { 

lock = false;
}, 500);
};
leftBtn.onclick = function() { 

if (lock) { 

return;
}
lock = true;
index--;
setPage(index);
if (index === 0) { 

setTimeout(function() { 

index = length - 2;
list.style.transition = "none";
list.style.left = -index * 650 + "px";
}, 500);
}
setTimeout(function() { 

lock = false;
}, 500);
};
轮播图淡入淡出效果
* { 

margin: 0;
padding: 0;
}
.banner { 

width: 650px;
height: 360px;
border: 1px solid red;
margin: 50px auto;
overflow: hidden;
position: relative;
}
.banner ul { 

list-style: none;
width: 5000px;
height: 100%;
position: relative;
left: 0;
}
.banner ul li { 

position: absolute;
top: 0;
left: 0;
opacity: 0;
transition: opacity 1s ease 0s;
}
.banner ul li:first-child { 

opacity: 1;
}
.banner ul li img { 

width: 650px;
height: 360px;
}
.banner a { 

text-decoration: none;
color: white;
text-align: center;
line-height: 50px;
}
.banner .left-btn { 

position: absolute;
width: 50px;
height: 50px;
left: 20px;
top: 50%;
margin-top: -25px;
background-color: rgba(0, 0, 0, .5);
border-radius: 50%;
}
.banner .right-btn { 

position: absolute;
width: 50px;
height: 50px;
right: 20px;
top: 50%;
margin-top: -25px;
background-color: rgba(0, 0, 0, .5);
border-radius: 50%;
}
var banner = document.querySelector("#banner");
var lis = document.querySelectorAll("#list li");
var leftBtn = document.querySelector("#leftBtn");
var rightBtn = document.querySelector("#rightBtn");
var index = 0;
var length = lis.length;
var lock = false;
rightBtn.onclick = function() { 

if (lock) { 

return;
}
lock = true;
lis[index].style.opacity = 0;
index++;
if (index >= length) { 

index = 0;
}
lis[index].style.opacity = 1;
setTimeout(function() { 

lock = false;
}, 1000);
};
leftBtn.onclick = function() { 

if (lock) { 

return;
}
lock = true;
lis[index].style.opacity = 0;
index--;
if (index < 0) { 

index = length - 1;
}
lis[index].style.opacity = 1;
setTimeout(function() { 

lock = false;
}, 1000);
};

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181471.html原文链接:https://javaforall.cn

原文地址:https://cloud.tencent.com/developer/article/2150755

其他相关
香农编码的 matlab 实现「建议收藏」

香农编码的 matlab 实现「建议收藏」

作者: 天天见闻 时间:2023-07-25 阅读: 64
%香农编码matlab实现;p=[0.5 0.19 0.19 0.07 0.05]%输入概率;y=fliplr(sort(P)),D=zeros(n:n;2)=D(i-1;1)+D(i-1:end,D;for j=1;n;C=binary1(A(J):B(J)),end;function[C]=binary1(A;C=zeros(1;end:D的第一列表示输入概率...
idea配置Tomcat时没有Artifacts选项

idea配置Tomcat时没有Artifacts选项

作者: 天天见闻 时间:2023-07-25 阅读: 79
首先要说明什么是IDEA的Artifact?表示某个module是如何封装的,例如war exploded,war,jar,ear等封装形式;即war、jar等生成物未被压缩之前的目录结构,容易修改文件的效果很快显现,点击加号找不到Artifacts选项:确定当前项目是否有webapp文件夹,idea创建项目没有webapp文件夹解决方案:...
将所需的驱动程序包含在maven-assembly-plugin中时,找不到合适的驱动程序。

将所需的驱动程序包含在maven-assembly-plugin中时,找不到合适的驱动程序。

作者: 天天见闻 时间:2023-03-21 阅读: 117
JDBC驱动程序发现机制依赖于一个名为的文件/meta-inf/services/java.sql.Driver,maven-assembly-pluginpack.name.MainClass˂jar-with-dependencies˂11.2.0.3version˃/version˃˂...
并详细点击addEventListener和removeEventListener事件。

并详细点击addEventListener和removeEventListener事件。

作者: 天天见闻 时间:2023-03-19 阅读: 103
...
AppCompatSpinner的条目在第二次选择时未打开TimePickerDialog。请查看详细信息

AppCompatSpinner的条目在第二次选择时未打开TimePickerDialog。请查看详细信息

作者: 天天见闻 时间:2023-03-15 阅读: 91
super(context;&listener;super.setSelection(position);˃parent?// Todo Auto-generated method stub;listener.onnothingSelected(parent)...
Spring WS Web服务。使用SAAJ向响应中添加附件-端点无适配器

Spring WS Web服务。使用SAAJ向响应中添加附件-端点无适配器

作者: 天天见闻 时间:2023-03-15 阅读: 85
org.springframework.ws˂invoke(@RequestPayload DownloadMessageRequestSaaj req;\\temp\\maven-feather.png"));payload.setMessagePayLoad(handler);...
我来说两句

年度爆文