javascript实例学习之八——无缝切换效果
无缝切换在网站的很多地方都有涉及,比如轮播图等。
基本思路:
1)将可视窗当前的元素复制,依次添加为ul中的子元素
2)改变ul整体的left取值(负的窗口值),动画缓动至想要的位置
3)将原视窗(已被复制)的各个li删除
4)将ul的left取值重新调整为0
实现的html代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试页面</title>
<style>
*{margin:;padding: ;box-sizing:border-box;}
div{width:480px;height:150px;border:5px solid #; margin-left:300px; position: relative;}
ul{ overflow: hidden; position: absolute; left: ;}
ul li{width:150px; height:150px; background:blue;float:left;margin-right:10px;list-style: none; color:white; font-size: 34px;text-align: center;}
</style>
</head>
<body>
<div id="div1">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<button id="btn">切换</button>
<script src="./commonJs/tool.js"></script>
<script src="./commonJs/base.js"></script>
<script src="./usualEffects/js/mySwitch.js"></script>
</body>
</html>
无缝切换html代码
js代码:
$(function() {
];
var aLis = document.getElementsByTagName('li');
].offsetWidth + ;
;
var showWidth = showNum * oneSize;
var btn = document.getElementById('btn');
var flag = true;
function setUlWidth() {
var sumWidth = aLis.length * oneSize;
console.log('sumWidth:' + sumWidth);
oUl.style.width = sumWidth + 'px';
}
setUlWidth();
btn.addEventListener('click', function() {
//为了防止动画累加,设置flag参数,只有当上次动画结束之后,才可能开始下一次动画
if (flag) {
flag=false;
; i < showNum; i++) {
//将前面showNum个元素复制,粘贴到列表后面
var cloneNode = aLis[i].cloneNode(true);
oUl.appendChild(cloneNode);
setUlWidth();
}
$(oUl).animate({ 'left': -showWidth + 'px' }, function() {
//动画结束之后的回调
//删除添加的元素
; k < showNum; k++) {
]);
}
//将ul的left值复原
;
flag=true;
});
}
}, false);
});
无缝切换js代码
javascript实例学习之八——无缝切换效果的更多相关文章
- JavaScript实现多栏目切换效果
效果: 代码: <!doctype html> <html> <head> <meta http-equiv="Content-Type" ...
- JavaScript 实现 标签页 切换效果
JavaScript 实现 标签页 切换效果 版权声明:未经授权,严禁分享! 构建主体界面 HTML 代码 <h1>实现标签页的切换效果</h1> <ul id=&quo ...
- javascript马赛克遮罩图片切换效果:XMosaic.js(转)
新鲜出炉的javascript图片切换特效,实现的是马赛克遮罩切换.在flash里,好实现遮罩动画很简单,不过JS实现起来就有些困难了. XMosaic.js,与XScroll.js和XScroll2 ...
- 二、JavaScript语言--JS基础--JavaScript进阶篇--选项卡切换效果
利用JavaScript知识,实现选项卡切换的效果. 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安家东三环 北京首现零首付楼 ...
- javascript 多图无缝切换
思路只要是ul移动前,首先将当前显示的li克隆岛ul最后,当每次运动执行完毕后,再将前面的li删除,如此循环. <!DOCTYPE html> <html> <head& ...
- 使用javascript实现图片上下切换效果并且实现顺序循环播放
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...
- 无JavaScript实现选项卡轮转切换效果
CSS: .box{width:200px; height:100px; border:1px solid #ddd; overflow:hidden;}.list{width:200px; he ...
- javascript小例子:實現四方向文本无缝滚动效果
实现一个文本无缝滚动的效果: <!DOCTYPE html> <!--[if lt IE 7 ]> <html lang="zh-CN" class= ...
- [前端] html+css+javascript 实现选项卡切换效果
用html+css+js实现选项卡切换效果使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材:房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安 ...
随机推荐
- JDBC链接数据库版本三,使用C3P0,使用jar文件两个
JdbcUtil类: package com.xiaohui.jdbc.util; import java.sql.Connection; import java.sql.PreparedStatem ...
- [ZZ] Adventures with Gamma-Correct Rendering
http://renderwonk.com/blog/index.php/archive/adventures-with-gamma-correct-rendering/ Adventures wit ...
- python 不得不知的第三方库以及常用安装包
mysql 驱动$ sudo pip install MySQL-python redis 数据库$ sudo pip install redis django 全文搜索$ sudo pip inst ...
- sqlserver log
DBCC LOGINFODBCC log('QSSys', TYPE=2)goselect * from sys.fn_dblog(null,null)select [Dirty Pages],[Mi ...
- Introduction to Structured Data
https://developers.google.com/search/docs/guides/intro-structured-data Structured data refers to kin ...
- Greedy_algorithm
https://en.wikipedia.org/wiki/Greedy_algorithm
- Apache Kafka源码分析 - KafkaApis
kafka apis反映出kafka broker server可以提供哪些服务,broker server主要和producer,consumer,controller有交互,搞清这些api就清楚了 ...
- mysql慢查询
查看当前服务器是否开启慢查询: 1.快速办法,运行sql语句show VARIABLES like "%slow%" 2.直接去my.conf中查看. my.conf中的配置(放在 ...
- 【Android开发学习笔记】【第九课】重力感应
概念 使用重力感应技术的Android游戏已经屡见不鲜,不知道自己以后会不会用到,所以先研究了一下. 在网上学习了一下,貌似没有api,所以得自己去分析手机处在怎样状态下.注意: 下面提供的demo程 ...
- zepto源码--width,height--学习笔记
width和height函数,实际上通过css方法也完全可以取到这两个函数的结果.获取width,$elem.css('width');设置width的话,$elem.css('width', 100 ...