效果图:
代码如下:
<!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
相关文章:
零基础网站服务器架设实战:轻量应用与域名解析配置指南
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
建站VPS配置与SEO优化指南:关键词排名提升策略
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
如何通过FTP空间快速搭建安全高效网站?
网站专业制作公司有哪些,做一个公司网站要多少钱?
Python lxml的etree和ElementTree有什么区别
如何在IIS中新建站点并配置端口与物理路径?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
制作网站公司那家好,网络公司是做什么的?
建站168自助建站系统:快速模板定制与SEO优化指南
,制作一个手机app网站要多少钱?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
独立制作一个网站多少钱,建立网站需要花多少钱?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
如何在IIS管理器中快速创建并配置网站?
大同网页,大同瑞慈医院官网?
孙琪峥织梦建站教程如何优化数据库安全?
如何选择香港主机高效搭建外贸独立站?
手机网站制作与建设方案,手机网站如何建设?
宝塔建站助手安装配置与建站模板使用全流程解析
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
广东企业建站网站优化与SEO营销核心策略指南
C++如何使用std::optional?(处理可选值)
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
高端网站建设与定制开发一站式解决方案 中企动力
如何基于云服务器快速搭建个人网站?
如何基于PHP生成高效IDC网络公司建站源码?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
如何通过商城自助建站源码实现零基础高效建站?
如何在IIS7中新建站点?详细步骤解析
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
如何零基础开发自助建站系统?完整教程解析
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
网站制作软件有哪些,制图软件有哪些?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
开心动漫网站制作软件下载,十分开心动画为何停播?
建站之星安装路径如何正确选择及配置?
定制建站方案优化指南:企业官网开发与建站费用解析
自助网站制作软件,个人如何自助建网站?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
ppt制作免费网站有哪些,ppt模板免费下载网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。