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

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

javascript实现图片滚动的更多相关文章

  1. javaScript实现图片滚动及一个普通图片轮播的代码

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. JavaScript之图片滚动

    向上滚动: <!doctype html> <title>javascript无缝滚动</title> <meta charset="utf-8&q ...

  3. ASP.NET中使用JavaScript实现图片自动水平滚动效果

    参照网上的资料,在ASP.NET中使用JavaScript实现图片自动水平滚动效果. 1.页面前台代码: <%@ Page Language="C#" AutoEventWi ...

  4. 【精心推荐】12款很好用的 jQuery 图片滚动插件

    这里收集了12款很好用的 jQuery 图片滚动插件分享给大家.jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各 ...

  5. 基于javascript实现图片懒加载(亲测有效)

    这篇文章主要介绍了javascript实现图片懒加载的方法及思路,有时我们需要用懒加载,也就是延迟加载图片的方式,来提高网站的亲和力,需要的朋友可以参考下! 一.定义 图片延迟加载也称为懒加载,延迟加 ...

  6. 10款很好用的 jQuery 图片滚动插件

    jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各种很酷的图片效果,它可以让的网站更具吸引力.这里收集了10款很好 ...

  7. 原生js实现tab选项卡里内嵌图片滚动特效代码

    <!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...

  8. 关于javascript延迟加载图片

    今天在技术群中,有位童鞋问起了javascript延迟加载图片的问题,我在这就给大家说明下原理和实现方法. 延迟加载是通过自定义属性,把真实的img地址存到自定义属性中,如data-url=”img” ...

  9. jquery图片滚动

    注:代码来自17sucai网,已去除部分冗余代码,只保留图片效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...

随机推荐

  1. CSS权威指南 - 内边距 边框 和 外边距

    九十年代的完全用表格布局,简单的段落边框都需要用表格.CSS让布局更方便. 基本元素框 basic element boxes 如同第七章基本视觉格式化那一章讲到,每个文档元素会生成一个元素框,这个框 ...

  2. Windows 10输入法已禁用IME无法输入中文怎么办

    Windows 10输入法已禁用IME无法输入中文怎么办 | 浏览:10453 | 更新:2015-03-01 14:46 | 标签:windows 1 2 3 4 5 分步阅读 Windows10系 ...

  3. CentOS通过日志反查入侵

    使用 last -f /var/log/wtmp 来查看可疑ip登录 查看/var/log/secure保存的系统信息 来确定可以ip登录

  4. Python之调用函数

    Python之调用函数 Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数 abs,它接收一个参数. 可以直接从Python的官方网站查 ...

  5. 蓝牙—RFCOMM协议

    RFCOMM是一个简单的协议,其中针对9针RS-232串口仿真附加了部分条款.可支持在两个蓝牙设备之间同时保持高达60路的通信连接.RFCOMM的目的是针对如何在两个不同设备上的应用之间保证一条完整的 ...

  6. 远程出发jenkins jobs

    wget -O - -q "http://jenkins_server/job/ttt/buildWithParameters?TEST1=Value" wget -O - -q ...

  7. Windows Server 2008R2服务器安装及设置教程

    第一篇:系统安装与设置 前言本安装及设置教程适用于使用Windows2008R2为操作系统的服务器,目的是让服务器实现下列环境.语言脚本环境:ASP.ASP.Net1.1.ASP.Net2.0.ASP ...

  8. Inside Flask - 配置的实现

    Inside Flask - 配置的实现 flask 的配置对象 app.config 本身使用很简单,无非就是以字典的形式使用,而它的实现,本身就是以字典的形式的. 在 flask/config.p ...

  9. Java 并发性和多线程

    一.介绍 在过去单 CPU 时代,单任务在一个时间点只能执行单一程序.之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程.虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个 ...

  10. App Store有哪些原因会影响app应用上架呢?(分享)

    App Store对于应用上架的审核是非常严格的,很可能一个没有注意到的细节,或者一个你根本没想想到的原因就会导致你的应用上架失败.而排除这些无可避免的错误以外,还有一些导致应用上架失败的原因,非常常 ...