js和jquery实现图片无缝轮播的不同写法
多掌握一种方法总是会有好处的,学习编程就要多思考,举一反三
下面写一下实现图片自动播放的代码,由于学习的是javascript,代码量很大,所以又学习了jquery库的操作,非常简便
还有非常有逼格的三元运算: 条件 ?(表示True) do something :(表示False) do others
这是css代码
* {
padding:;
margin:;
}
ul {
list-style:none;
}
.box {
width:240px;
height:180px;
/*在这里必须要设置高度,因为里面只有一个ul,而我们给ul设置的是绝对定位,提升了层级,那么box文档流中*/
/*没有元素撑开box的高度,所以我们要给其设置固定高度*/
background:lightgray;
margin:200px auto;
overflow:hidden;
position:relative;
}
ul {
width:400%;
height:180px;
position:absolute;
top:;
left:;
background:red;
}
ul li {
float:left;
}
这是html + js代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>a website</title>
<link rel = "stylesheet" href = "css.css" type = "text/css">
</head>
<body>
<div class = "box">
<ul class = "u">
<li><img src = "img/01.jpg"></li>
<li><img src = "img/02.jpg"></li>
<li><img src = "img/03.jpg"></li>
<li><img src = "img/04.jpg"></li>
</ul>
</div>
</body>
<script src = "jquery-3.2.1.js"></script>
<script type = "text/javascript">
// 想要实现的效果:
// 1.打开网页,图片自动往左移动,当4张图片都移动完之后又重新移动,实现无缝轮播的效果
// 2.当鼠标滑到图片区域图片会停止轮播
// 3.当鼠标滑出图片区域图片会按照原来的位置继续轮播
// 方法一:基于javascript来实现
// window.onload = function() {
// var box = document.getElementsByClassName("box")[0];
// var ul = document.getElementsByTagName("ul")[0];
// var count = 0;
// var timer = null;
// function func(){
// count--;
// count < -720 ? count=0 : count;
// ul.style.left = count + "px";
// }
// timer = setInterval(func,20);
// box.onmouseover = function(){
// clearInterval(timer)
// }
// box.onmouseout = function(){
// timer = setInterval(func,20);
// }
// } // 方法二:基于jquery实现
$(function(){
var count = 0;
var timer = null;
function func(){
count --;
count < -720 ? count = 0
:$("ul").css("left",count)
}
timer = setInterval(func,20);
$(".box").mouseover(function(){
clearInterval(timer);
});
$(".box").mouseout(function(){
timer = setInterval(func,20);
});
}); // 现在我们加一个按钮控制轮播动画的位置
// $(".box").before("<button>移动</button>");
// $("button").click(function(){
// $(".box").css("margin","20px auto")
// })
// 或者加一个按钮让轮播位置产生动画效果
// $(".box").before("<button>移动</button>");
// $("button").click(function(){
// $(".box").toggle(1000)
// })
</script>
</html>
js和jquery实现图片无缝轮播的不同写法的更多相关文章
- js实现图片无缝轮播
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jQ实现图片无缝轮播
在铺页面的过程中,总是会遇到轮播图需要处理,一般我是会用swiper来制作,但总会有哪个几个个例需要我自己来写功能,这里制作了一个jq用来实现图片无缝轮播的dome,分享给大家ヽ( ̄▽ ̄)ノ. dom ...
- jQuery图片无缝轮播
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- jQuery图片无缝轮播插件;
图片轮播这种效果在web开发中看常见,网上的插件也有很多,最近在整理项目的过程中,把之前的图片轮播效果整合了一下,整理成一个可调用的插件以做记录,也方便更多前端爱好者来学习使用:图片的轮播原理很简单, ...
- 基于jQuery的图片左右轮播,基本原理通用
毕竟新人,写点基础的小东西,希望能和大家沟通交流,提高自己的水平. 这个是应用较多的轮播部分,希望能和大家分享一下思路,拓宽视野. 话不多说,上内容. 我的思路很简单就是通过判断index值的大小变化 ...
- 分别用css3、JS实现图片简单的无缝轮播功效
本文主要介绍分别使用CSS3.JS实现图片简单无缝轮播功效: 一.使用CSS3实现:利用animation属性 (实现一张一张的轮播,肉眼只看见一张图片) HTML部分比较简单,两个div下包着几个i ...
- js、jQuery实现文字上下无缝轮播、滚动效果
因项目需要实现消息通知上下无缝轮播的效果,所以写了一下,在这个分享出来,希望再次遇到此需求的道友,可以直接拷贝来用,节约一点不必要的时间. 原生JS版本 <!DOCTYPE html> & ...
- 记一个jquery 无缝轮播的制作方法
接触前端也很久了,今天才发现,要做好一个轮播,其实有很多东西需要考虑进去,否则做出来的轮播效果并不好,下面我就来做一个轮播,是依赖jquery来写的 1.要做轮播,首先需要的是HTML的内容,css的 ...
- Jquery无缝轮播图的制作
轮播是html页面中比较常见的一种展现形式,也是基础,把轮播图做好,是排版中比较关键的 1.首先是轮播的html元素放置:做轮播之前,要有一个初步的认识 2.每个元素的位置怎样摆放,也是很关键的,这里 ...
随机推荐
- VC 字符串转化和分割
原文:点击这里. 备忘:为了适用于Unicode环境,要养成使用_T()宏的习惯 1.格式化字符串 CString s;s.Format(_T("The num is %d."), ...
- hive案例
数据倾斜: 操作• Join on a.id=b.id• Group by• Count Distinct count(groupby)• 原因• key分布不均导致的• 人为的建表疏忽• 业务数据特 ...
- 代码直连指定ip的dubbo服务
http://blog.csdn.net/buqutianya/article/details/69229384
- ejs 用到的语法
1.ejs 服务端渲染模板 2.语法: 01. <%= 变量名 %> -原样输出,不解析标签 02. <% js代码 %> 03. <%- 变量名%> -解析标签 ...
- JSP基本_EL式
1.EL式下記二種類がある.① ${式} : JSPの出力(レンダリング)時に評価 (JSP2.0から)② #{式} : タグハンドラにより任意のタイミングで評価 (JSP2.1から) 2.オブジェク ...
- 静态函数造成GC的原因
有时候用deep profiling查看GC时会发现:一个父函数有GC,展开子层级看到一个很奇怪的 CX::ctor,表示CX进行了构造,然后打开父函数代码却完全看不到有new CX的地方,这个时候可 ...
- Redis-stat 的安装与使用
一.ruby源码安装 下载最新版的 Ruby 压缩文件.请点击这里下载. 下载 Ruby 之后,解压到新创建的目录下: $ tar -xvzf ruby-2.2.3.tgz $ cd ruby-2.2 ...
- linux 内核假死循环导致的问题
[, comm: -IFileSender Tainted: G B ENX -- ZTE Grantley/S1008 [:[<ffffffff810fb2cb>] [<fffff ...
- 一小段测试atof的代码
#include <stdio.h> //#include <stdlib.h> double a=0; int main(int argc, char *argv[]) { ...
- Kotlin语言学习笔记(2)
类(classes) // 类声明 class Invoice { } // 空的类 class Empty // 主体构造器(primary constructor) class Person co ...