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.每个元素的位置怎样摆放,也是很关键的,这里 ...
随机推荐
- microsoft visual c++ 14.0 is required问题解决办法
方法有两个: 1.绕过pip,手动下载包 2.升级vc 详情参考:https://blog.csdn.net/amoscn/article/details/78215641
- Runnable接口和Callable接口的区别。
Callable需要实现call方法,而Runnable需要实现run方法:并且,call方法还可以返回任何对象,无论是什么对象,JVM都会当作Object来处理.但是如果使用了泛型,我们就不用每次都 ...
- PHP 使用非对称加密算法(RSA)
解释: 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey).公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密:如果用私有密 ...
- EmEditor
姓 名:ttrar.com 序 列 号:DKAZQ-R9TYP-5SM2A-9Z8KD-3E2RK 免费版地址:https://zh-cn.emeditor.com/#download
- Xe7 System.Json解析数据格式
一.Demo一 解析嵌套数组 Json数据 {"code":1,"msg":"","data":{"Grade ...
- Linux 循环创建多个线程
这里说一下相关的基础知识: 线程概念 什么是线程 LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下) 进程:独立地址空间,拥有PCB 线 ...
- C++ 与 CDC相关的知识,点滴总结
hdc = GetDC (hwnd) ; GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境. 所获得的设备环境可以是通用.类或者私有类型,具体由指定窗口的类风格决定.对于通用设备 ...
- Android sdk 目录结构说明
1.add-on:附加的包:2.docs:HTML格式的离线文档:3.platforms:sdk核心内容:4.tool:工具. 在platforms中包含了的各个Android SDK版本的目录中,包 ...
- 吴裕雄 python 爬虫(2)
import requests from bs4 import BeautifulSoup url = 'http://www.baidu.com' html = requests.get(url) ...
- MDI窗体容器
Mdi是一个窗体容器控件,直接在新建好的窗体里面,将此窗体设置为Mdi容器,开启了Mdi容器的窗体里面,如果有点击事件打开新窗体,则这些新窗体会在此窗体内部的Mdi容器中打开 操作步骤: 1.首先先新 ...