js 实现图片无限横向滚动效果
门户网站好多都有产品无线滚动展现的效果:
测试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 实现图片无限横向滚动效果的更多相关文章
- 用js实现图片的无缝滚动效果
实现图片的无缝滚动就是要让你的图片集在一定时间里自动切换,那就需要js里的定时器来控制时间. js中关于定时器的方法有两种:setTimeout和setInterval.它们接收的参数是一样的,第一个 ...
- JS仿QQ空间鼠标停在长图片时候图片自动上下滚动效果
JS仿QQ空间鼠标停在长图片时候图片自动上下滚动效果 今天是2014年第一篇博客是关于类似于我们的qq空间长图片展示效果,因为一张很长的图片不可能全部把他展示出来,所以外层用了一个容器给他一个高度,超 ...
- jquery 单行滚动、批量多行滚动、文字图片翻屏滚动效果代码
jquery单行滚动.批量多行滚动.文字图片翻屏滚动效果代码,需要的朋友可以参考下. 以下代码,运行后,需要刷新下,才能加载jquery,要不然看不到效果.一.单行滚动效果 <!DOCTYPE ...
- unity 背景无限循环滚动效果
背景无限循环滚动效果如下示: 步骤如下: 导入背景图片后,设置图片的格式,如下图: 2.图片格式也可以设置是Texture格式,但是Wrap Mode 一定要是Repeat[重复发生]:然后记得App ...
- js 实现图片的无缝滚动
js 实现图片的无缝滚动 CreateTime--2018年3月7日17:18:34 Author:Marydon 测试成功 <!DOCTYPE html> <html> ...
- Vue开发组件之替代marquee标签,超出宽度文字横向滚动效果
一.npm 安装 如果你想安装插件(自己写的)安装 install dependencies npm i marquee-components 使用 在main.js引入 import marquee ...
- ASP.NET中使用JavaScript实现图片自动水平滚动效果
参照网上的资料,在ASP.NET中使用JavaScript实现图片自动水平滚动效果. 1.页面前台代码: <%@ Page Language="C#" AutoEventWi ...
- JQuery图片轮播滚动效果(网页效果--每日一更)
今天,带来的是一个图片的轮播滚动效果! 先来看一下效果展示:亲,请点击这里 原理很简单,设置一个定时器,使图片列表在每隔一段时间后滚动一次.而循环效果,就是在每一滚动的时候,将第一张图片放到最后一张的 ...
- 利用原生JS实现网页1920banner图滚动效果
内容描述:随着PC设备硬件性能的进步和分辨率的不断提高,现在主流网站逐渐开始采用1920banner图,为适应这一趋势,博主设计了1920banner图的滚动效果,代码利用了原生JS实现了1920ba ...
随机推荐
- Rabbit的直连交换机direct
直连交换机类型为:direct.加入了路由键routingKey的概念. 就是说 生产者投递消息给指定交换机的指定路由键. 只有绑定了此交换机指定路由键的消息队列才可以收到消息. 生产者: packa ...
- 2048小游戏4X4C语言
*/ #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> v ...
- Tomcat添加用户
在conf目录下tomcat-users.xml文件里添加如下代码: <role rolename="manager-gui"/> <user username= ...
- git版本控制的使用
特别说明:本文所有知识笔记是学习“表严肃”同学的git课程记录所得. 前辈个人网站地址:http://biaoyansu.com 特此感谢前辈! 一.git是版本控制利器 二.本地创建仓库 1.进入新 ...
- BZOJ2763: [JLOI2011]飞行路线(分层图 最短路)
题意 题目链接 Sol 分层图+最短路 建\(k+1\)层图,对于边\((u, v, w)\),首先在本层内连边权为\(w\)的无向边,再各向下一层对应的节点连边权为\(0\)的有向边 如果是取最大最 ...
- Linux基础之-正则表达式(grep,sed,awk)
一. 正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式是对字符串操作的一种逻辑公 ...
- restful知识点之二restframework视图
restful协议理解:面向资源开发 restful协议 ---- 一切皆是资源,操作只是请求方式 ----book表增删改查 /books/ books /books/add/ addbook /b ...
- Session、Cookie详解(2)
session是web开发里一个重要的概念,在大多数web应用里session都是被当做现成的东西,拿来就直接用,但是一些复杂的web应用里能拿来用的session已经满足不了实际的需求,当碰到这样的 ...
- angular中的scope
angular.element($0).scope() 什么是scope? scope是一个refer to the application model的object.它是一个expression的执 ...
- c#编程指南(五) 扩展方法(Extension Method)
C# 3.0就引入的新特性,扩展方法可以很大的增加你代码的优美度,扩展方法提供你扩展.NET Framewoke类的扩展途径,书写和规则也简单的要命. 编写扩展方法有下面几个要求: 第一:扩展方法所在 ...