<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>无缝滚动</title>
<style>
.scroll-no-gap {
width: 300px;
height: 100px;
position: relative;
overflow: hidden;
} .scroll-no-gap .ul-scroll {
list-style: none;
margin: 0;
padding: 0;
height: 100px;
width: 100px;
position: absolute;
left: 0;
top: 0;
} .scroll-no-gap .ul-scroll li {
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
float: left;
} .scroll-no-gap .ul-scroll li:nth-child(even) {
background-color: rosybrown;
} .scroll-no-gap .ul-scroll li:nth-child(odd) {
background-color: aquamarine;
}
</style>
</head>
<body>
<!--无缝滚动-->
<div class="scroll-no-gap">
<ul class="ul-scroll">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</div>
<button class="prev">prev</button>
<button class="next">next</button>
<script>
//无缝滚动
//取值:oDiv.offsetLeft(可读写) ==>字符串
//设置值: oDiv.style.left(只读) ==> 数值
var oUl = document.getElementsByClassName('ul-scroll')[0];
var aLi = oUl.getElementsByTagName('li');
//console.log(aLi.length);
oUl.style.width = aLi.length * 100 + 'px';
//console.log(oUl.offsetWidth);
var oPrev = document.getElementsByClassName('prev')[0];
var oNext = document.getElementsByClassName('next')[0];
var now = 0;
oNext.onclick = function(){
now = now + 1;
oUl.style.left = oUl.offsetLeft - 300 + 'px';
if(now == 3){
oUl.style.left = 0;
now = 0;
}
};
oPrev.onclick = function(){
now = now - 1;
oUl.style.left = oUl.offsetLeft + 300 + 'px';
if(now == -1){
now = 2;
oUl.style.left = -(aLi.length/3 - 1)*300 + 'px';
}
}; </script>
</body>
</html>

javascrip实现无缝滚动的更多相关文章

  1. JavaScript学习笔记5 之 计时器 & scroll、offset、client系列属性 & 图片无缝滚动

    一.计时器 setInterval ( 函数/名称 , 毫秒数 )表示每经过一定的毫秒后,执行一次相应的函数(重复) setTimeout ( 函数/名称 , 毫秒数 ) 表示经过一定的毫秒后,只执行 ...

  2. JQuery的无缝滚动

    图片无缝向左滚动的代码如下:   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  3. JS 阶段小练习~ 无缝滚动

    结合下学了的知识,做个模拟的综合性扩展练习~~  大致功能如下: 1.点开html后,图片自动移动展示 2.点击左右方向,可以改变 图片移动的方向(改变left的值,正负) 3.鼠标移入移出图片后,图 ...

  4. 自己写了一个无缝滚动的插件(jQuery)

    效果图: html代码: 1 <h1>无缝滚动,向右滚动</h1> 2 <ul id="guoul1"> 3 <li><img ...

  5. js 无缝滚动效果学习

    <!DOCTYPE html> <html> <head> <title>无缝滚动测试</title> <meta http-equi ...

  6. Javascript学习之无缝滚动

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

  7. js基础教程四之无缝滚动

    前面学习了相关js的一些基础知识,这节主要针对定时器作综合运用: 无缝滚动-基础 效果演示: *物体运动基础 *让div移动起来 *offsetLeft的作用 *用定时器让物体连续移动 <sty ...

  8. 带无缝滚动的轮播图(含JS运动框架)

    今天学习了一下轮播图的写作,想到前一阵学过的无缝滚动得思想,所以就把轮播与滚动结合了一下.不过我的代码的神逻辑我自己都不敢恭维,在没网没参照的情况下,只能硬着头皮往下写,希望跟大家共勉吧. js运动框 ...

  9. liMarquee演示12种不同的无缝滚动效果

    很实用的一款liMarquee演示12种不同的无缝滚动效果 在线预览 下载地址 实例代码 <!DOCTYPE html> <html lang="zh-CN"&g ...

随机推荐

  1. 【原创】Git版本控制器的基本使用

    关于git Git,是一个分布式版本控制软件.最初本是为了更好的管理Linux内核开发而被林纳斯·托瓦兹开发,后来因为项目开发中版本控制的强烈需求,而git也日趋成熟,最终成为了一个独立的版本控制软件 ...

  2. 【转】iOS8 推送 获取 devicetoken

    标签:推送 push ios8 devicetoken token xcode6 原文:http://roybaby.blog.51cto.com/1508945/1557854 打开AppDeleg ...

  3. Java----多线程知识点归纳(概念)

    一.线程与进程的区别: 多个进程的内部数据和状态都是完全独立的,而多线程是共享一块内存空间和一组系统资源,有可能互相影响. ?线程本身的数据通常只有寄存器数据,以及一个 程序执行时使用的堆栈,所以线程 ...

  4. VS2010 Cstring to int

    今天遇到一个将Cstring转化为int的问题,用atoi(),发现不可以,找了一下原因. 原来因为在VS2015(2010)的版本中是UNICODE ,请使用这个函数 _ttoi() . CStri ...

  5. 狗狗40题~(Volume B)

    H - Sorting Slides 应该是个二分匹配的模板题的,但我还不会写 = = 其实数据规模很小,就用贪心的方法就水过了(没加vis判冲突wa了几发,从此开始艰难的没有1A 的生活) #inc ...

  6. struts2文件上传,文件类型 allowedTypes

    struts2文件上传,文件类型 allowedTypes 1 '.a' : 'application/octet-stream', 2 '.ai' : 'application/postscript ...

  7. linux 监控服务器脚本

    #!/bin/bash ctime=`date +%x%T`monitor_dir=/home/jk/if [ ! -d $monitor_dir ]; then    mkdir $monitor_ ...

  8. centos lnmp 安装笔记

    [root@host]# chkconfig nginx on [root@host]# service nginx start [root@host]# service nginx stop [ro ...

  9. Windows手动搭建PHP运行环境

    首先~可以先在目录里面创建一个wamp目录,我的创建在 E: 盘 1.0 下载Apache2.4,x64位.VC11组件[电脑多少位装多少位] apache下载地址:https://www.apach ...

  10. C#中调用WIN32的API

    最近在学习C#中的GDI部分,本来尝试编写一个字幕控件(其实还是用label比较合适),但是发现控件中用GDI将整个控件粉刷貌似不行(应该是我水平不行),所以就去捣鼓了下WIN32的DLL,发现用AP ...