【JS篇】控制子集超过一定数量开始轮播
【JS篇】控制子集超过一定数量开始轮播,
这个是很早的时候的一个效果了,经过代码的不断迭代升级修改,现在是最封装的一版本,通过面向对象传参数,适用于任何一个需要放置 数量达到一定条件后可执行的函数
// 团队成员大于6个人的时候滚动
jQuery(document).ready(function () {
var box0 = jQuery("#itemsd"), v0 = 1.5; //这里添加滚动的对象和其速率
Rin(box0, v0); function Rin(jQueryBox, v) {//$Box移动的对象,v对象移动的速率
var jQueryBox_ul = jQueryBox.find("ul"),
jQueryBox_li = jQueryBox_ul.find("li"),
jQueryBox_li_span = jQueryBox_li.find("span"),
left = 0,
s = 0,
timer;//定时器 jQueryBox_li.each(function (index) {
jQuery(jQueryBox_li_span[index]).width(jQuery(this).width());//hover
s += jQuery(this).outerWidth(true); //即要滚动的长度
}) window.requestAnimationFrame = window.requestAnimationFrame || function (Tmove) { return setTimeout(Tmove, 1000 / 60) };
window.cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout; if (s >= jQueryBox.width()) {//如果滚动长度超出Box长度即开始滚动,没有的话就不执行滚动
jQueryBox_li.clone(true).appendTo(jQueryBox_ul);
Tmove();
function Tmove() {
//运动是移动left 从0到-s;(个人习惯往左滚)
left -= v;
if (left <= -s) { left = 0; jQueryBox_ul.css("left", left) } else { jQueryBox_ul.css("left", left) }
timer = requestAnimationFrame(Tmove);
}
jQueryBox_ul.hover(function () { cancelAnimationFrame(timer) }, function () { Tmove() })
} }
//团队成果大于两个时显示
if (jQuery("#teamover>li").length > 2) {
jQuery(".domainmore").eq(0).show();
$("#teamover>li").filter(":lt(2)").show().end().filter().hide();
} else {
jQuery(".domainmore").eq(0).hide();
}
})
jQuery("#domore").click(function () {
$("#teamover>li").show();
jQuery(".domainmore").eq(0).hide(); })
其中的轮播条件可根据实际情况,我给出的是宽度达到限定,也可以换成子集的数量达到限定后进行无缝滚动,
团队列表大于两个时显示 是用来处理显示更多与隐藏的按钮, 在数量未达条件时正常显示, 达到后显示【点击加载更多】的按钮, 点击后该按钮隐藏,显示所有团队列表。适用于任何场景,如果觉得方法还可再做优化的,欢迎道友指点交流。
【JS篇】控制子集超过一定数量开始轮播的更多相关文章
- js渐隐渐现透明度变化淡入淡出轮播图
js渐隐渐现透明度变化淡入淡出轮播图.焦点图 一些广告banner展示常见. (附件) <!DOCTYPE html> <html> <head> <meta ...
- 原生js+css3实现图片自动切换,图片轮播
运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...
- js原生选项卡(自动播放无缝滚动轮播图)二
今天分享一下自动播放轮播图,自动播放轮播图是在昨天分享的轮播图的基础上添加了定时器,用定时器控制图片的自动切换,函数中首先封装一个方向的自动播放工能的小函数,这个函数中添加定时器,定时器中可以放向右走 ...
- 原生js实现简单移动端轮播图
最近项目不是很忙,自己就用原生js写了一个简单的移动端轮播图的小demo,可实现自动轮播和手势滑动轮播,然后就把它记录到个人博客里.还有很多不足的地方,希望多多指出,以便改进. 1.代码部分 分为四个 ...
- 纯js写图片轮播插件
最近终于写成了自己创作的图片轮播插件,使用原生js编写.与目前网上流行的轮播插件相比,功能和效果稍弱,但是使用起来相当方便. 先看html代码 <!DOCTYPE html> <ht ...
- 原生js实现图片轮播效果
思路:设置父容器(一定宽度,一定高度,相对定位,子容器超出部分进行隐藏),子容器图片并排(浮动,绝对定位,每次点击进行相应的左或右偏移量) 1.html: <!DOCTYPE html> ...
- 基于js的自适应、多样式轮播图插件(兼容IE8+、FF、chrome等主流浏览器)
插件github地址:https://github.com/pomelott/slider-plug_in 使用方式: slider plug-in 左右滑动的自适应.多样式全能插件.多次调用时只需传 ...
- 纯HTML+JS实现轮播
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- 移动端轮播图实现方法(dGun.js)
本文章介绍在移动端无缝隙轮播图实现的原理,这个轮子比较简单,但可以方便刚刚入门的同学参考.最终效果是在移动端无缝隙无限滑动,可以自定义轮播的速度.支持手势左右滑动.最后会放上源码. HTML部分 &l ...
- 31.JS实现控制HTML5背景音乐播放暂停
实现控制网站背景音乐的播放暂停在html5中是非常容易和简单的,仅仅几行代码即可实现.首先在网页中嵌入背景音乐,html5代码为: <script src="http://wuover ...
随机推荐
- CSS & JS Effect – Textarea Autoresize
前言 这是一个很普遍的体验, 而且实现起来也很简单哦 参考 YouTube – How to Auto Resize Textarea using HTML CSS & JavaScript ...
- Figma 学习笔记 – Frame
Frame = <div> Frame 就类似 HTML 中的 div, 它和形状 rectangle 特性上蛮相识的, 但是使用场景其实差很多, 所以不要搞错哦. (除了图片很少会用到 ...
- SQL Server 中的 NUL 设备/NIL设备
SQL Server 中的 NUL 设备/NIL设备 在 SQL Server 中,有一个特殊的设备叫做 NUL(注意,不是 NULL),它类似于文件系统中的"黑洞".NUL 设备 ...
- Spring —— bean配置
基础配置 别名配置 作用范围配置 适合交给容器进行管理的bean (复用性的对象,无需重复创建的对象) 表现层对象 业务层对象 数据层对象 工具对象 不适合交给容器管 ...
- cortex-m3 m4 异常机制
文章写的很好,待整理 1.[STM32]HardFault问题详细分析及调试笔记 https://blog.csdn.net/m0_54916619/article/details/129979222 ...
- [TK] 选课 hzoj-tg#279
该题目是一道树上背包问题,题目的全部思路已写在 树上背包问题 中. 该题目代码只供辅助理解. struct edge{ int to,w; }; vector<edge> e[1001]; ...
- 三大硬核方式揭秘:Java如何与底层硬件和工业设备轻松通信!
大家好,我是V哥,程序员聊天真是三句不到离不开技术啊,这不前两天跟一个哥们吃饭,他是我好多年前的学员了,一直保持着联系,现在都李总了,在做工业互联网相关的项目,真是只要 Java 学得好,能干一辈子, ...
- Docker修改IP地址方法
一.查看Docker IP root@master:/# ifconfig docker0 docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu ...
- 浅谈数栈产品里的 Descriptions 组件
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:修能 What's? 数栈产品里的 Description ...
- html中div加滚动条
div 加滚动条的两种方法: 一. <div style=" overflow:scroll; width:400px; height:400px;"></div ...