js 图片无缝滚动
html部分
<div id="roll">
<a href="javascript:void(0)" class="prev">向左</a>
<a href="javascript:void(0)" class="next">向右</a>
<div id="scroll">
<ul>
<li><img src="img/5.jpg"/></li>
<li><img src="img/6.jpg"/></li>
<li><img src="img/7.jpg"/></li>
</ul>
</div>
</div>
css部分
ul,
ul li{
list-style: none;
margin:0 ;
padding:0 ;
}
ul:after{
clear: both;
display: block;
content: " ";
visibility: hidden;
}
#scroll{
width:1290px ;
height: 195px;
margin:0 auto;
overflow: hidden;
position: relative;
}
#scroll ul {
position: absolute;
left: 0;
}
#scroll ul li{
float:left;
}
a{
position: absolute;
z-index: 99;
}
.prev{
top:80px;
left:26px;
}
.next{
top:80px;
right:26px;
}
js部分
function getId(id){
return document.getElementById(id);
};
window.onload=function(){
var scroll=getId('scroll');
var ulList=scroll.getElementsByTagName('ul')[0];
ulList.innerHTML+=ulList.innerHTML;
var ulListLi=ulList.getElementsByTagName('li');
ulList.style.width=ulListLi[0].offsetWidth*ulListLi.length+'px';//设置ul的宽
var speed=-5;
var timer=null;
function roll(){ //滚动函数
ulList.style.left=ulList.offsetLeft+speed+'px';
if(ulList.offsetLeft < -ulList.offsetWidth/2){
ulList.style.left='0px';
}else if(ulList.offsetLeft >0){
ulList.style.left=-ulList.offsetWidth/2+'px';
}
}
timer=setInterval(roll,50)
//按钮点击事件
var prev=document.getElementsByClassName('prev')[0];
var next=document.getElementsByClassName('next')[0];
prev.onclick=function(){
speed=-5;
}
next.onclick=function(){
speed=5;
}
//ul区域移入移出区域事件
ulList.onmouseenter=function(){
clearInterval(timer);
}
ulList.onmouseleave=function(){
timer=setInterval(roll,50)
}
}
js 图片无缝滚动的更多相关文章
- js图片无缝滚动代码
想必大家都注意到<marquee>的不循环滚动,所以出现了很多替代脚本,或iframe或JS输出<marquee>,不管怎么做,都略显麻烦.下面说一下这个相对简单的实现思路:一 ...
- js 图片无缝循环
<html> <head> <title>Js图片无缝滚动</title> <style type="text/css"> ...
- CSS和jQuery分别实现图片无缝滚动效果
一.效果图 二.使用CSS实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...
- jQuery图片无缝滚动JS代码ul/li结构
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript学习笔记5 之 计时器 & scroll、offset、client系列属性 & 图片无缝滚动
一.计时器 setInterval ( 函数/名称 , 毫秒数 )表示每经过一定的毫秒后,执行一次相应的函数(重复) setTimeout ( 函数/名称 , 毫秒数 ) 表示经过一定的毫秒后,只执行 ...
- jQuery图片无缝滚动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery图片无缝滚动代码左右 上下无缝滚动图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS运动 - 无缝滚动和缓动动画
JS运动 - 无缝滚动和缓动动画 无缝滚动原理:首先先复制两张图片(第一张和第二张)放到最后面;ul绝对定位,如果ul的left值大于等于4张图片的宽度,就应该快速复原为0. html <!DO ...
- 应用JavaScript搭建一个简易页面图片无缝滚动效果
页面图片无缝滚动JavaScript原理:移动的区块包含图片内容,区块相对父级元素进行定位脱离文档流.再令区块的left值每隔固定的时间进行等量减少(或增大)从而实现区块的匀速运动.由于每次间隔移动的 ...
随机推荐
- MTK 关闭耳机调至最大音量时,提示损伤听力
android开发之耳机调至最大音量时,提示损伤听力 android开发之耳机调至最大音量时,提示损伤听力 通过提示语,我们可以查出,只要的逻辑代码是在framework/base/packages/ ...
- spark连数据库
DataFrame提供了一条联结所有主流数据源并自动转化为可并行处理格式的渠道,通过它Spark能取悦大数据生态链上的所有玩家,无论是善用R的数据科学家,惯用SQL的商业分析师,还是在意效率和实时性的 ...
- JS创建对象的几种方式整理
javascript是一种“基于prototype的面向对象语言“,与java有非常大的区别,无法通过类来创建对象.那么,既然是面象对象的,如何来创建对象呢? 一:通过“字面量”方式创建对象 方法:将 ...
- ubuntu下搭建LAMP环境
本文参考:http://www.linuxdiyf.com/linux/21265.html 请支持原创. 步骤一:安装apache root@mrwang:~$ sudo apt install a ...
- spring和jdbctemplate
1.spring与jdbc整合应用 a.增删改 -获取connection -获取statement -设置sql中?参数 -执行sql操作 -释放connection b.查询 -获取connect ...
- 【Java线程安全】 — 常用数据结构及原理(未完结)
本文主要记录自己对于多线程安全的学习,先来记几个线程安全模型. 首先最重要的当然是volatile和AQS了: 我们知道,整个java.cuncurrent包的核心就是volatile,CAS加自旋悲 ...
- Tensorflow一些常用基本概念与函数(1)
为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf.placeholder(" ...
- Springboot的常规属性配置和类型安全配置
1.类型常规配置: 通过在properties文件中注入键值对的方式,在java代码中通过@Value注解注入值 2.类型安全配置 将要注入的属性包装成一个类,给类加上注解:ConfigrationP ...
- 做一个vue的todolist列表
<template> <div id="app"> <input type="text" v-model="todo&q ...
- mongoDB数据库插入数据时报错:db.collection is not a function
nodejs连接mongodb插入数据时,发现mongoDB报错:db.collection is not a function.解决方法: 1.npm下载mongodb2.x.x版本替换3.x.x ...