门户网站好多都有产品无线滚动展现的效果:

测试demo1 -- 非无缝滚动(可以看出来从头开始的效果):

css样式如下:

.box{
width: 1000px;
border: 1px solid #ccc;
overflow: hidden;
height: 110px;
margin: 50px auto;
white-space: nowrap;
position: relative;
}
.con1{
width: 1000px;
height: 110px;
overflow: hidden;
position: absolute;
left:;
}
.con2{
position: absolute;
overflow: hidden;
opacity:;
}

html代码如下:

<div class="box">
<div class="con1">
<li><img src="img/SD_1.jpg" alt=""></li>
<li><img src="img/SD_2.jpg" alt=""></li>
<li><img src="img/SD_3.jpg" alt=""></li>
<li><img src="img/SD_4.jpg" alt=""></li>
<li><img src="img/SD_5.jpg" alt=""></li>
<li><img src="img/SD_6.jpg" alt=""></li>
</div>
<div class="con2"></div>
</div>

js代码如下:

window.onload = function(){
var cont = 5; //时间间隔
var box = document.getElementsByClassName("box")[0];
var con1 = document.getElementsByClassName("con1")[0];
var con2 = document.getElementsByClassName("con2")[0];
con2.innerHTML = con1.innerHTML;
function scroll(){
if(con1.scrollLeft >= con2.offsetWidth - box.offsetWidth){  //利用滚动差当滚动不动时重置为0
con1.scrollLeft = 0;
}else{
con1.scrollLeft += 1;
}
}
var timer = setInterval(scroll,cont);
box.onmouseover = function(e){
clearInterval(timer);
}
box.onmouseout = function(e){
timer = setInterval(scroll,cont);
}
}

2.测试demo2 -- 无缝滚动效果,看不出来重0效果:

css代码如下:

.box{
width: 1000px;
border: 1px solid #ccc;
overflow: hidden;
height: 110px;
margin: 50px auto;
white-space: nowrap;
position: relative;
}
.con1,.con2{
display: inline;
}

html结构同上;

js代码如下:

window.onload = function(){
var cont = 5;
var box = document.getElementsByClassName("box")[0];
var con1 = document.getElementsByClassName("con1")[0];
var con2 = document.getElementsByClassName("con2")[0];
con2.innerHTML = con1.innerHTML;
function scroll(){
if(con2.offsetWidth - box.scrollLeft <= 0){
// box.scrollLeft = 0; //重置为0 (这两项都行,不太明白???)
// box.scrollLeft -= con1.offsetWidth; //此值非0 一般情况为负值 (效果和重置为0一样)
}else{
box.scrollLeft += 1;
}
}
var timer = setInterval(scroll,cont);
box.onmouseover = function(e){
clearInterval(timer);
}
box.onmouseout = function(e){
timer = setInterval(scroll,cont);
}
}

js 实现图片无限横向滚动效果的更多相关文章

  1. 用js实现图片的无缝滚动效果

    实现图片的无缝滚动就是要让你的图片集在一定时间里自动切换,那就需要js里的定时器来控制时间. js中关于定时器的方法有两种:setTimeout和setInterval.它们接收的参数是一样的,第一个 ...

  2. JS仿QQ空间鼠标停在长图片时候图片自动上下滚动效果

    JS仿QQ空间鼠标停在长图片时候图片自动上下滚动效果 今天是2014年第一篇博客是关于类似于我们的qq空间长图片展示效果,因为一张很长的图片不可能全部把他展示出来,所以外层用了一个容器给他一个高度,超 ...

  3. jquery 单行滚动、批量多行滚动、文字图片翻屏滚动效果代码

    jquery单行滚动.批量多行滚动.文字图片翻屏滚动效果代码,需要的朋友可以参考下. 以下代码,运行后,需要刷新下,才能加载jquery,要不然看不到效果.一.单行滚动效果 <!DOCTYPE ...

  4. unity 背景无限循环滚动效果

    背景无限循环滚动效果如下示: 步骤如下: 导入背景图片后,设置图片的格式,如下图: 2.图片格式也可以设置是Texture格式,但是Wrap Mode 一定要是Repeat[重复发生]:然后记得App ...

  5. js 实现图片的无缝滚动

      js 实现图片的无缝滚动 CreateTime--2018年3月7日17:18:34 Author:Marydon 测试成功 <!DOCTYPE html> <html> ...

  6. Vue开发组件之替代marquee标签,超出宽度文字横向滚动效果

    一.npm 安装 如果你想安装插件(自己写的)安装 install dependencies npm i marquee-components 使用 在main.js引入 import marquee ...

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

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

  8. JQuery图片轮播滚动效果(网页效果--每日一更)

    今天,带来的是一个图片的轮播滚动效果! 先来看一下效果展示:亲,请点击这里 原理很简单,设置一个定时器,使图片列表在每隔一段时间后滚动一次.而循环效果,就是在每一滚动的时候,将第一张图片放到最后一张的 ...

  9. 利用原生JS实现网页1920banner图滚动效果

    内容描述:随着PC设备硬件性能的进步和分辨率的不断提高,现在主流网站逐渐开始采用1920banner图,为适应这一趋势,博主设计了1920banner图的滚动效果,代码利用了原生JS实现了1920ba ...

随机推荐

  1. C++测验代码

    /* 返回字符串前n位和返回整数前n位 */ #include <iostream> unsigned long left(unsigned long num, int n); char ...

  2. OOP 第二章作业总结

    实现策略 这里结合一下我画的第三次作业的时序图(可能有画的不好的地方)来叙述一下我的实现逻辑.最开始主线程负责创建必要的线程(输入.调度线程)与请求队列类实例:输入线程负责与人进行交互,将获取到的请求 ...

  3. 互联网轻量级框架SSM-查缺补漏第二天

    简言:第一天没咋看,因为看的时候已经是下午了.今天上午也因为工作上的事没咋看,本来想按照天去写的,但是内容会太散吧.我决定把整块的内容放在一起写了.天数啥的,就那样把. 还有,我只是言简意赅的去总结一 ...

  4. maven filter不起作用

    遇到的一个坑, spring boot + maven maven fileter没有起作用.spring boot把默认占位符改了 参考:https://blog.csdn.net/mn960mn/ ...

  5. JS如何使用Math.atan2获取两点之间角度的实践案例

    本文主要介绍使用如何实现手动拖拽旋转元素的效果. 1.简述 最近在研究如何实现手动控制元素的旋转效果,在网上找了很多,都没有找出类似的实现,因此经过一些调研和计算,最终完美实现效果,在这里记录下来. ...

  6. Sencha Architect打开闪退问题修复

    删除以下位置的cache文件夹 C:\Users\Administrator\AppData\Local\Sencha\Sencha Architect 3.2\Cache bug解决参考 https ...

  7. puppeteer自动化测试

    1.基础知识 puppeteer.launch() 创建浏览器实例 puppeteer.newPage() 创建一个新页面 puppeteer.goto() 进入指定网站 page.screensho ...

  8. localstorage本地存储的简单使用

    我们在做页面时会用到本地存储的时候,今天说说localStorage本地存储. 1.localStorage.name="老王";      //第一种设置存储本地数据的方法loc ...

  9. .NET开源工作流RoadFlow-Bug修改-1.8.2表单验证时ueditor编辑非空验证无效

    RoadFlow生成的表单,Ueditor编辑器不能进行非空验证的BUG修改: 1.修改控制器:WorkFlowFormDesignerController红框处: 2.修改js文件:Scripts/ ...

  10. Windows系统中Oracle11g R2 版本数据库卸载

    1. 停止"服务"中所有的ORCLE服务. 进入服务的方法很多,如: (1)在运行中输入services.msc,然后找到所有跟oracle 有关的服务. (2)开始->设置 ...