闲来无事捣鼓了一个原来的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>

大家如果有什么建议可以提出来!!谢谢!!

最新文章

  1. Android签名总结
  2. 阿里2014校招笔试题(南大)——利用thread和sleep生成字符串的伪随机序列
  3. windows下cmd时复制dos中的内容 错误信息等
  4. java 代理模式二:动态代理
  5. remove all .git files and directories use one command
  6. ubuntu下mysql的环境搭建及使用
  7. insert into (select...WITH CHECK OPTION) values(...)
  8. Win7 下,离线安装 Android Studio 1.0.1 的方法
  9. python简单小爬虫爬取易车网图片
  10. QT 5.1.1 for Android 开发环境搭建与配置【Windows 7】
  11. 一步一步学习SignalR进行实时通信_4_Hub
  12. 用ftplib爆破FTP口令
  13. C# 泛型初探
  14. 网时|细数被鹿晗热点效应带火的心机boy们
  15. 将Tomcat添加进服务启动
  16. Python多版本管理-pyenv
  17. AES加密然后ajax传输数据
  18. 数据库MySQL(课下作业)
  19. The frist email to myself by python
  20. 舵机&amp;数据处理&amp;stm32内存之堆栈溢出(遇到的问题)

热门文章

  1. IOS第八天(3:UITableViewController团购, 点击底部代码调整)
  2. 关于static 的研究 与递归调用的输出
  3. 【iCore3 双核心板】例程六:IWDG看门狗实验——复位ARM
  4. Error:Unsupported major.minor version 51.0 .
  5. Variance
  6. Android实现推送方式解决方案
  7. iOS摄像头和相册-UIImagePickerController常用操作
  8. HTML中的图像
  9. raw socket
  10. 一般处理程序返回json