效果图:
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin:0;
padding:0;
border:none;
}
li{
list-style: none;
}
#box{
height:340px;
width:790px;
position: relative;
margin:100px auto;
}
#box #list1{
height:340px;
width:790px;
}
#box #list1 li{
font-size: 80px;
line-height: 340px;
text-align: center;
height:340px;
width:790px;
position: absolute;
left:0;
top:0;
opacity: 0;
filter: alpha(opacity=0);
}
#box #list1 li img{
height:340px;
width:790px;
}
#shang,#xia{
height:80px;
width:50px;
color:#212121;
background: #ccc;
font-size: 60px;
font-weight: bold;
line-height: 80px;
text-align: center;
position: absolute;
top:130px;
opacity: 0.8;
filter: alpha(opacity=80);
cursor: pointer;
}
#shang{
left:0;
}
#xia{
right:0;
}
#box #list2{
height:20px;
width:195px;
position: absolute;
left:297px;
bottom:25px;
opacity: 0.8;
filter: alpha(opacity=80);
}
#box #list2 li{
height:20px;
width:20px;
background: #ccc;
border-radius: 50%;
float: left;
margin-right:5px;
cursor: pointer;
}
#box #list2 li.active{
background: black;
}
</style>
<script type="text/javascript">
onload = function(){
var oBox = document.getElementById('box');
var oLIst1 = document.getElementById('list1');
var aLi1 = oLIst1.getElementsByTagName('li');
var oLIst2 = document.getElementById('list2');
var aLi2 = oLIst2.getElementsByTagName('li');
var oShang = document.getElementById('shang');
var oXia = document.getElementById('xia');
aLi1[0].style.opacity = 1;
aLi1[0].style.filter = 'alpha(opacity=100)';
var size = aLi1.length;
var i = 0;
var timer = setInterval(function(){
i ++;
move();
},2000);
function move(){
if(i >= size){
i = 0
}
if(i < 0){
i = size-1;
}
for(var j = 0; j < aLi1.length; j ++){
if(j == i){
animate(aLi1[j],{opacity:100});
aLi2[j].className = 'active';
}else{
animate(aLi1[j],{opacity:0});
aLi2[j].className = '';
}
}
}
//前一张
oShang.onclick = function(e){
var evt = e || event;
evt.preventDefault();
i --;
move();
}
//后一张
oXia.onclick = function(e){
var evt = e || event;
evt.preventDefault();
i ++;
move();
}
//下面的圆点
for(var k = 0;k < aLi2.length; k ++){
aLi2[k].index = k;
aLi2[k].onmouseenter = function(){
i = this.index;
move();
}
}
oBox.onmouseenter = function(){
clearInterval(timer);
}
oBox.onmouseleave = function(){
timer = setInterval(function(){
i ++;
move();
},2000);
}
/*************************缓冲运动 可封装留着以后备用^_^*************************/
function getStyleAttr(obj, attr){
if (window.getComputedStyle){
return getComputedStyle(obj, null)[attr];
}
else {
return obj.currentStyle[attr];
}
}
function animate(obj, json, fn){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var bStop = true;
for (var attr in json){
var iTarget = json[attr];
var current;
if (attr == "opacity"){
current = parseFloat(getStyleAttr(obj, attr))*100;
current = Math.round(current);
}
else {
current = parseFloat(getStyleAttr(obj, attr));
current = Math.round(current);
}
var speed = (iTarget-current)/8; (400-393)/8
speed = speed>0 ? Math.ceil(speed) : Math.floor(speed);
if (current != iTarget){
bStop = false;
}
if (attr == "opacity"){
obj.style[attr] = (current+speed)/100;
obj.style.filter = "alpha(opacity=" + (current+speed) + ")";
}
else {
obj.style[attr] = current+speed + "px";
}
}
if (bStop){
console.log("停止运动");
clearInterval(obj.timer);
if (fn) {
fn();
}
}
}, 30);
}
}
</script>
</head>
<body>
<div id="box">
<ul id="list1">
<li style="background: red;">1</li>
<li style="background: yellow;">2</li>
<li style="background: green;">3</li>
<li style="background: blue;">4</li>
<li style="background: blueviolet;">5</li>
<li style="background: brown;">6</li>
<li style="background: orangered;">7</li>
<li style="background: palevioletred;">8</li>
</ul>
<ul id="list2">
<li class="active"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li style="margin-right:0px;"></li>
</ul>
<div id="shang">
<
</div>
<div id="xia">
>
</div>
</div>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js
# 轮播图
# js实现图片轮播
# js轮播图透明度切换
# 如何使用JavaScript实现无缝滚动自动播放轮播图效果
# js实现自动播放匀速轮播图
# js实现支持手机滑动切换的轮播图片效果实例
# vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
# JS仿京东移动端手指拨动切换轮播图效果
# javascript实现点击按钮切换轮播图功能
# 原生JS实现旋转轮播图+文字内容切换效果【附源码】
# js实现轮播图效果 纯js实现图片自动切换
# vue自定义js图片碎片轮播图切换效果的实现代码
# js实现点击切换和自动播放的轮播图
# 圆点
# img
# shang
# filter
# alpha
# color
# xia
# line
# absolute
# size
# opacity
# font
# left
# top
# background
# bottom
# float
# active
# radius
# weight
相关文章:
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
如何快速打造个性化非模板自助建站?
建站之星如何快速更换网站模板?
建站之星如何取消后台验证码生成?
如何快速搭建高效简练网站?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
如何通过可视化优化提升建站效果?
如何彻底卸载建站之星软件?
如何用PHP快速搭建高效网站?分步指南
建站主机核心功能解析:服务器选择与网站搭建流程指南
如何配置WinSCP新建站点的密钥验证步骤?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
网站制作模板下载什么软件,ppt模板免费下载网站?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
h5在线制作网站电脑版下载,h5网页制作软件?
如何在香港免费服务器上快速搭建网站?
Swift中swift中的switch 语句
太原网站制作公司有哪些,网约车营运证查询官网?
如何在Windows服务器上快速搭建网站?
宝塔面板如何快速创建新站点?
如何自定义建站之星网站的导航菜单样式?
如何用PHP快速搭建CMS系统?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
如何快速上传自定义模板至建站之星?
网站制作网站,深圳做网站哪家比较好?
如何选择CMS系统实现快速建站与SEO优化?
如何通过智能用户系统一键生成高效建站方案?
如何选择香港主机高效搭建外贸独立站?
如何在建站之星网店版论坛获取技术支持?
如何选购建站域名与空间?自助平台全解析
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何确认建站备案号应放置的具体位置?
制作表格网站有哪些,线上表格怎么弄?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
制作网站的公司有哪些,做一个公司网站要多少钱?
如何在阿里云部署织梦网站?
如何在阿里云虚拟主机上快速搭建个人网站?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
香港服务器租用费用高吗?如何避免常见误区?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
建站之星如何助力企业快速打造五合一网站?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
建站之星如何实现网站加密操作?
建站之星如何助力网站排名飙升?揭秘高效技巧
常州自助建站工具推荐:低成本搭建与模板选择技巧
外贸公司网站制作,外贸网站建设一般有哪些步骤?
建站之星Pro快速搭建教程:模板选择与功能配置指南
*请认真填写需求信息,我们会在24小时内与您取得联系。