javascript实现图片滚动
2024-08-26 09:39:37
闲来无事捣鼓了一个原来的js图片滚动
首先看看 静态页的结构:
<body>
<a href="javascript: le()">向左</a>
<a href="javascript: re()">向右</a>
<div id="img">
<ul id="imgul">
<li><img src="img/1.jpg" height="150" width="200"/></li>
<li><img src="img/2.jpg" height="150" width="200" /></li>
<li><img src="img/3.jpg" height="150" width="200"/></li>
<li><img src="img/4.jpg" height="150" width="200"/></li>
</ul>
</div>
</body>
上面两个a标签 是控制图片滚动的走向
关键是div ul li <img> 的结构 div里面是ul 人后是li 里面是图片img 标签
让li 有浮动 然后给 div 加一个左右外边距自动 在给 div 一个相对定位 ul一个绝对定位
大体的布局就差不多了
滚动的大体思路就是,通过css定位和js定时器 改变ul 的left 属性 来实现滚动。
下面就是js代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{
padding:0px;
margin:0px;
} li{
height:150px;
width:200px;
float:left;
margin:10px;
} ul{
width:880px;
height:170px;
list-style-type: none;
background-color:#FFF;
position:absolute;
left:0;
top:0; } div{
width:880px;
height:170px;
margin-top:100px;
margin-left:auto;
margin-right:auto;
background-color:#FF0000;
position:relative;
overflow:hidden;
} </style>
<script>
var f=-1;//新建一个全局变量
function le()//点击向左调用的方法
{
f=-1;
}
function re()//点击向右调用的方法
{
f=1;
}
window.onload=function (){
odiv=document.getElementById('div');//获取div
oul=document.getElementById('ul');//获取ul
oul.innerHTML=oul.innerHTML+oul.innerHTML; //复制一份ul 里的内容
oul.style.width=oul.offsetWidth*2+'px';//应为ul 里的内容比原来多了一倍所以宽也要比原来多一倍 //实现图片滚动的函数
function cc (){
//判断图片滚动的位置 向左时的情况
if(oul.offsetLeft<-oul.offsetWidth/2)
{
oul.style.left=0+'px';
} //判断图片滚动的位置 向右时的情况
if(oul.offsetLeft>0)
{
oul.style.left=-oul.offsetWidth/2+'px';
}
//f为 上面的全局变量 为 正则是向右 为负则是向左
oul.style.left=oul.offsetLeft+f+'px';
}
//定时器
var time=setInterval(cc,10);
//鼠标移动到div上时 停止定时器
odiv.onmouseover=function (){
clearInterval(time); };
//鼠标移出div时 在次运行定时器
odiv.onmouseout=function (){
time=setInterval(cc,10); }; };
</script>
</head> <body>
<a href="javascript: le()">向左</a>
<a href="javascript: re()">向右</a>
<div id="div">
<ul id="ul">
<li><img src="img/1.jpg" height="150" width="200"/></li>
<li><img src="img/2.jpg" height="150" width="200" /></li>
<li><img src="img/3.jpg" height="150" width="200"/></li>
<li><img src="img/4.jpg" height="150" width="200"/></li>
</ul>
</div>
</body>
</html>
大家如果有什么建议可以提出来!!谢谢!!
最新文章
- Android签名总结
- 阿里2014校招笔试题(南大)——利用thread和sleep生成字符串的伪随机序列
- windows下cmd时复制dos中的内容 错误信息等
- java 代理模式二:动态代理
- remove all .git files and directories use one command
- ubuntu下mysql的环境搭建及使用
- insert into (select...WITH CHECK OPTION) values(...)
- Win7 下,离线安装 Android Studio 1.0.1 的方法
- python简单小爬虫爬取易车网图片
- QT 5.1.1 for Android 开发环境搭建与配置【Windows 7】
- 一步一步学习SignalR进行实时通信_4_Hub
- 用ftplib爆破FTP口令
- C# 泛型初探
- 网时|细数被鹿晗热点效应带火的心机boy们
- 将Tomcat添加进服务启动
- Python多版本管理-pyenv
- AES加密然后ajax传输数据
- 数据库MySQL(课下作业)
- The frist email to myself by python
- 舵机&;数据处理&;stm32内存之堆栈溢出(遇到的问题)