效果图如下:

代码:

<!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. Java设计模式菜鸟系列(九)外观模式建模与实现

    转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39805735 外观模式(Facade):是为了解决类与类之间的依赖关系的,像spring一 ...

  2. Codeforces 85D Sum of Medians(线段树)

    题目链接:Codeforces 85D - Sum of Medians 题目大意:N个操作,add x:向集合中加入x:del x:删除集合中的x:sum:将集合排序后,将集合中全部下标i % 5 ...

  3. Swift实战-QQ在线音乐(第一版)

    //一.*项目准备 1.QQ音乐App 界面素材:(我使用PP助手,将QQ音乐App备份,解压ipa文件 即可得到里面的图片素材) 2.豆瓣电台接口:"http://douban.fm/j/ ...

  4. js中exec、test、match、search、replace、split、indesOf()用法

    exec:对string进行正则处理,并返回匹配结果.array[0]为原字符串,array[i]为匹配在整个被搜索字符串中的位置. test:测试string是否包含有匹配结果,包含返回true,不 ...

  5. 从 Qt 的 delete 说开来

    原地址:http://blog.csdn.net/dbzhang800/article/details/6300025 在C++中学习过程中,我们都知道: delete 和 new 必须 配对使用(一 ...

  6. QThread 与 QObject的关系(QObject可以用于多线程,可以发送信号调用存在于其他线程的slot函数,但GUI类不可重入)

    QThread 继承 QObject..它可以发送started和finished信号,也提供了一些slot函数. QObject.可以用于多线程,可以发送信号调用存在于其他线程的slot函数,也可以 ...

  7. mysql禁用autocommit,以及遇到的问题(转)

    MySQL的autocommit(自动提交)默认是开启,其对mysql的性能有一定影响,举个例子来说,如果你插入了1000条数据,mysql会commit1000次的,如果我们把autocommit关 ...

  8. 基于visual Studio2013解决C语言竞赛题之0810链表去重

     题目

  9. JAVA序列化在IO中读写对象的使用

    序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间.序列化是为了解决在对对象流进行读写操作时所引发的问题. 序列 ...

  10. Thawte SSL123 SSL证书-中国证书.com

    Thawte SSL123 SSL证书是域名验证型证书.也是Thawte最廉价的一款证书.该证书签发方便,仅仅须要验证域名全部权就可以签发,无需提交认证文件,通常签发时间仅仅须要1-2个小时.SSL1 ...