html+css+javascript实现简易轮播图片
html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="../css/test2.css">
<script type="text/javascript" src="../js/test2.js"></script>
<title>图片轮播</title>
</head>
<body onload="onPageLoaded()">
<div class="s1">
<div class="s2"><img src="../img/left.png" onclick="goLeftClick()"></img></div>
<div class="s3"><img src="../img/right.png" onclick="goRightClick()"></img></div> <ul id="imgList" >
<li > <img src="../img/img1.jpg"></img></li>
<li > <img src="../img/img2.jpg"></img></li>
<li > <img src="../img/img3.jpg"></img></li>
<li > <img src="../img/img4.jpg"></img></li>
</ul> </div>
</body>
</html>
css:
@CHARSET "UTF-8";
body{
width:950px;
height:800px;
background-color: silver;
margin: 0 auto;
border:1px solid red;
}
.s1{
width:950px;
height:250px;
margin-top: 100px;
background-color: orange;
position:relative; /* 先将外面的div定位 */
left:;
top:;
overflow: hidden;/* 自动隐藏超出的内容 */
}
.s2{
/* background-color: blue;*/
position:absolute;/* 再将里面的左右导航div定位 */
left:30px;
top:93px;
z-index:;
}
.s3{
/* background-color: blue;*/
position:absolute;
left:856px;
top:93px;
z-index:;
}
/*图像ul */
.s1 ul{
width:3800px; /* ul 宽度设置 所有图像的宽的总和 */
height:250px;
padding:; /* padding 设置0 */
margin:; /* margin 设置0 */
background-color: purple;
overflow: hidden; /* 自动隐藏超出的内容 */
}
.s1 ul > li{
width:950px;
list-style-type: none;
float: left;
}
.s1 ul img{
width:950px;
height:250px;
/*max-width: 100%;*/
}
javascript:
/**
* @description:
* @author Chenchen Yu
* @date 2016年11月23日
* @time 下午9:01:21
*/ var k=0;
var imgNum=4;//图片数目
var imgWidth=950;
function onPageLoaded(){ setTimeout('goLeft()',2000); } //自动向左滑动图片
function goLeft(){ var imgList=document.getElementById('imgList');
marginLeft=-((k+1)%imgNum)*imgWidth;
if(marginLeft==0)
{ imgList.style.marginLeft='0px';
k++;
setTimeout('goLeft()',2000);
return;
}
slideLeft(imgList,marginLeft+imgWidth,marginLeft);
// k++;
} function slideLeft(imgList,start,marginLeft){
//模拟滑动
//var start=marginLeft+950;
setTimeout('slideLeftByStep('+'imgList'+','+start+','+marginLeft+')',10); } function slideLeftByStep(imgList,dis,marginLeft){
if(dis<marginLeft)
{
k++;
setTimeout('goLeft()',2000);
return;
}
imgList.style.marginLeft=dis+'px'; dis=dis-50;//step size
slideLeft(imgList,dis,marginLeft);
}
//点击向右滑动图片
function goRightClick(){
var imgList=document.getElementById('imgList'); if(k<=0||(k)%imgNum==0)
{
// imgList.style.marginLeft='0px';
k=0;
return;
}
k=k-2;//后退 marginLeft=-((k+1)%imgNum)*imgWidth;
clickSlideRight(imgList,marginLeft-imgWidth,marginLeft);
console.log('kk',marginLeft);
// imgList.style.marginLeft='0px';
} function clickSlideRight(imgList,start,marginLeft){ setTimeout('clickSlideRightByStep('+'imgList'+','+start+','+marginLeft+')',5); } function clickSlideRightByStep(imgList,dis,marginLeft){
if(dis>marginLeft)
{
k++; //
return;
}
imgList.style.marginLeft=dis+'px';
dis=dis+50;//step size
clickSlideRight(imgList,dis,marginLeft);
} //点击向左滑动图片
function goLeftClick(){
var imgList=document.getElementById('imgList');
if((k+1)%imgNum==0)
{
k=0;
return;
}
marginLeft=-((k+1)%imgNum)*imgWidth;
clickSlideLeft(imgList,marginLeft+imgWidth,marginLeft);
} function clickSlideLeft(imgList,start,marginLeft){ setTimeout('clickSlideLeftByStep('+'imgList'+','+start+','+marginLeft+')',5); } function clickSlideLeftByStep(imgList,dis,marginLeft){
if(dis<marginLeft)
{
k++;//保持自动滑动同步
return;
}
imgList.style.marginLeft=dis+'px';
dis=dis-50;//step size
clickSlideLeft(imgList,dis,marginLeft);
}
效果图:

html+css+javascript实现简易轮播图片的更多相关文章
- 用CSS代码编写简易轮播图
废话不多说,直接上代码 <!doctype html> <html> <head> <title></title> <meta cha ...
- 简单html js css 轮播图片,不用jquery
这个是自己修改的轮播图片,在网上有的是flash 实现的轮播图片,对搜索引擎不友好, 比如:dedecms 的首页的轮播图是用flash实现滚动的. 所以这个自己修改了一下,实现html+js+css ...
- 原生JS实现简易轮播图
原生JS实现简易轮播图(渐变?) 最近做网页总是会用到轮播图,我就把之前写的轮播图单独拿出来吧,如果有...如果真的有人也需要也可以复制去用用啊..哈~.. window.onload = funct ...
- vue手写的轮播图片,解决已经修改data中的值,页面标签已绑定,但页面没效果
1.效果 2.index.html <!DOCTYPE html> <html lang="en"> <link> <meta chars ...
- HTML练习二--动态加载轮播图片
接上一篇https://www.cnblogs.com/shuaimeng/p/11106655.html demo下载: https://pan.baidu.com/s/1dhvzHwTHKiguy ...
- [js开源组件开发]js轮播图片支持手机滑动切换
js轮播图片支持手机滑动切换 carousel-image 轮播图片,支持触摸滑动. 例子见DEMO http://www.lovewebgames.com/jsmodule/carousel-ima ...
- 轮播图片 高效图片轮播,两个imageView实现
该轮播框架的优势: 文件少,代码简洁 不依赖任何其他第三方库,耦合度低 同时支持本地图片及网络图片 可修改分页控件位置,显示或隐藏 自定义分页控件的图片,就是这么个性 自带图片缓存,一次加载,永久使用 ...
- 微信小程序轮播图组件 swiper,swiper-item及轮播图片自适应
官网地址:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html index.wxml文件 indicator-d ...
- APP动态加载轮播图片
如果APP里面的轮播图片是动态加载的话,那么你会发现他不会轮播(前提是mui框架),这里都是用的mui框架,动态加载的图片因为mui的js查不到html上面没有图片,所以就不会轮播,需要手动重置下轮播 ...
随机推荐
- Eclipse:Dubug快捷键
Debug快捷键 F5单步调试进入函数内部. F6单步调试不进入函数内部,如果装了金山词霸2006则要把"取词开关"的快捷键改成其他的. F7由函数内部返回到调用处. ...
- (转)jQuery EasyUI Tree - TreeGrid动态加载子节点
有时我们已经得到充分的分层树形网格(TreeGrid)的数据. 我们还想让树形网格(TreeGrid)按层次惰性加载节点. 首先,只加载顶层节点. 然后点击节点的展开图标来加载它的子节点. 本教程展示 ...
- 您还有心跳吗?超时机制分析(java)
注:本人是原作者,首发于并发编程网(您还有心跳吗?超时机制分析),此文结合那里的留言作了一些修改. 问题描述 在C/S模式中,有时我们会长时间保持一个连接,以避免频繁地建立连接,但同时,一般会有一个超 ...
- Tire树入门专题
POJ 3630Phone List 题目连接:http://poj.org/problem?id=3630 题意:问是否有号码是其他号码的前缀. #include<iostream> # ...
- get_object_vars($var) vs array($var)
get_object_vars(\(var) vs array(\)var) test case class Test { public function actionGetObjectVarsVsA ...
- [LeetCode][Java]Candy@LeetCode
Candy There are N children standing in a line. Each child is assigned a rating value. You are giving ...
- 安装odoo服务
sysv init 服务 从 odoo 源码 debian 目录 拷贝 init 至 /etc/init.d/ 并 更名为 odoo cd /opt/odoo sudo cp /opt/odoo/de ...
- win7 部署WCF遇到的问题记录
1. IIS7 handler Mappings默认没有*.svc 的处理,需要安装(页面错误提示好像会提示缺少相应的处理器,记不清楚了) 方法:使用 ServiceModelReg.exe 工具 路 ...
- c# 写着玩的,两个Task并发,一个写队列一个读队列的异常情况
class Program { class TestEnqueue { static Queue<string> str = new Queue<string>(); publ ...
- int main(int argc,char* argv[])详解
argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数, 比如: int main(int argc, ...