效果图如下:

代码:

<!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">
*{ margin:0; padding:0;}
#imgMove{ height:205px; width:624px; border:#000 1px solid; position:relative; margin:200px auto;overflow:hidden;}
#imgMove ul{ height:205px;position:absolute; left:0; overflow:hidden;}
#imgMove li{ list-style:none; float:left; height:205px; width:156px; margin:0;}
a img,img{ border:none;}
span{ z-index:999;height:68px; width:68px; display:none;position:absolute; cursor:pointer;}
#moveLeft{left:0; top:68px; }
#moveRight{right:-10px; top:68px;}
</style>
<script type="text/javascript">
window.onload=function(){
var oDiv=document.getElementById('imgMove');
var oUl=oDiv.getElementsByTagName('ul')[0];
var oli=oUl.getElementsByTagName('li');
var liSpeed=1;
var ospan=oDiv.getElementsByTagName('span');
var rightmove=document.getElementById('moveRight');
    var leftmove=document.getElementById('moveLeft');

function show(){
ospan[0].style.display="block";
ospan[1].style.display="block";
}
oUl.onmouseover=function (){
show();
}
oUl.onmouseout=function(){
ospan[0].style.display="none";
ospan[1].style.display="none";
}
ospan[0].onmouseover=function(){
liSpeed=1;
        show();/*加这个函数是为了去除向左向右的图片闪动*/
}
ospan[1].onmouseover=function(){
   liSpeed=-1;
        show();/*加这个函数是为了去除向左向右的图片闪动*/
}

oUl.style.width=oli[0].offsetWidth*oli.length+'px';;
setInterval(function(){
oUl.style.left=oUl.offsetLeft-liSpeed+'px';
if(oUl.offsetLeft<-oUl.offsetWidth/2){
oUl.style.left=0;
}
else if(oUl.offsetLeft>0)
{
oUl.style.left=-oUl.offsetWidth/2+'px';
}
},30)
}
</script>
</head>

<body>
<div id="imgMove">

<ul>
   <li><a href="#"><img src="data:images/1.png" /></a></li>
   <li><a href="#"><img src="data:images/2.png" /></a></li>
   <li><a href="#"><img src="data:images/3.png" /></a></li>
   <li><a href="#"><img src="data:images/4.png" /></a></li>
   <li><a href="#"><img src="data:images/1.png" /></a></li>
   <li><a href="#"><img src="data:images/2.png" /></a></li>
   <li><a href="#"><img src="data:images/3.png" /></a></li>
   <li><a href="#"><img src="data:images/4.png" /></a></li>
 </ul>
<span id="moveLeft"><img src="data:images/left.png" /></span>
<span id="moveRight"><img src="data:images/right.png" /></div>
</div>
</body>
</html>

javascript实现的可改变滚动方向的无缝滚动的更多相关文章

  1. JavaScript----marquee滚动标签 图片无缝滚动 插入百度地图

    页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...

  2. 轮播图采用js、jquery实现无缝滚动和非无缝滚动的四种案例实现,兼容ie低版本浏览器

    项目源代码下载地址:轮播图 以下为项目实现效果:(由于gif太大,所以只上传一张图片,但效果完全能实现,经测试,在ie各版本浏览器及chrome,firefox等浏览器中均能实现效果,可以实现点击切换 ...

  3. js判断鼠标滑轮滚动方向并根据滚动的方向触发不同的事件

    <script> var scrollFunc = function (e) { var direct = 0; e = e || window.event; if (e.wheelDel ...

  4. CSS和jQuery分别实现图片无缝滚动效果

    一.效果图 二.使用CSS实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...

  5. 应用JavaScript搭建一个简易页面图片无缝滚动效果

    页面图片无缝滚动JavaScript原理:移动的区块包含图片内容,区块相对父级元素进行定位脱离文档流.再令区块的left值每隔固定的时间进行等量减少(或增大)从而实现区块的匀速运动.由于每次间隔移动的 ...

  6. Javascript学习之无缝滚动

    无缝滚动Javascript: <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...

  7. JavaScript判断鼠标滑轮是向下还是向上滚动

    我们常用的就是鼠标,鼠标中键一般都用于滑动网页,但是网页中很多很炫的效果,使用鼠标滑轮操作更好. 当然对于手机就没有这个设备了,所以就不用考虑手机端的实现方法,手机端有触摸滑动事件. 使用JavaSc ...

  8. Javascript 学习笔记 无缝滚动

    效果 : 鼠标移入图片 停止滚动, 鼠标移出自动滚动 可以调整向左或右方向滚动 <style type="text/css"> * { margin:; padding ...

  9. javascript小例子:實現四方向文本无缝滚动效果

    实现一个文本无缝滚动的效果: <!DOCTYPE html> <!--[if lt IE 7 ]> <html lang="zh-CN" class= ...

随机推荐

  1. PHP - FTP上传文件类

    /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...

  2. 设置Ubuntu 10.10版本的软件源

    设置Ubuntu 10.10版本的软件源 http://blog.csdn.net/xie1xiao1jun/article/details/49911189   网上有很多关于软件源信息的更新,每次 ...

  3. 架构漫谈:自己开发一个Log框架

    前言 在日常开发中我们常常都会用到写日志的功能,现在网上的写Log的框架有很多,但是对于我个人而言,过于庞大:我们往往只为了使用框架中的某一个功能就不得不引用整个框架. 所以,我们今天就来自己动手开发 ...

  4. c#与java中byte字节的区别及转换方法

    原文:c#与java中byte字节的区别及转换方法 在java中  byte的范围在 [-128,127] 在C#中  byte的范围在 [0,255] 所以 java程序与C#程序 进行数据传输的时 ...

  5. m2eclipse简单使用,创建Maven项目 ,运行mvn命令(转)

    前面介绍了如何安装m2eclipse,现在,我们使用m2ecilpse导入Hello World项目. 选择菜单项File,然后选择Import,我们会看到一个Import对话框,在该对话框中选择Ge ...

  6. Android layoutInflate.inflate 方法具体解释,removeView()错误解决

    错误: The specified child already has a parent. You must call removeView(). 解答: 这个错误非常直白,就是你viewGroup. ...

  7. 金额的计算BigDecimal类

    金额的计算BigDecimal类 double d = 9.84; double d2 = 1.22; //注意需要使用BigDecimal(String val)构造方法 BigDecimal bi ...

  8. 刘德华夏日Fiesta演唱会上那个表演探戈舞的演员是谁啊?_百度知道

    刘德华夏日Fiesta演唱会上那个表演探戈舞的演员是谁啊?_百度知道     刘德华夏日Fiesta演唱会上那个表演探戈舞的演员是谁啊?    2008-05-28 00:04 topofhill | ...

  9. ajax提交整个form表单

    在项目开发中,有时提交form表单时不能单单用action或者jquery的 表单提交方法有三种,主要说下第三种 第一种:用form自带属性action提交 第二种:用jquery提交:$(" ...

  10. MySQL生成-单据号不重复

    需求生成一个单据编号 单据编号结构: “单据类型” + “日期” + “流水号” 例子 : GD201605230000007 代码: DELIMITER $$ CREATE PROCEDURE `y ...