【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 ...
随机推荐
- Angular 18+ 高级教程 – Angular Configuration (angular.json)
前言 记入一些基本的配置. Setup IP Address.SSL.Self-signed Certificate 如果你对 IP Address.SSL.Self-signed Certifica ...
- JavaScript Library – Svelte
前言 上一回我介绍了 Alpine.js.作为我开发企业网站 draft 版本的 render engine. 用了一阵子后,我觉得它真的非常不好用.所以打算换一个. 前端有好几个 framework ...
- C++ 指针动态内存分配
动态内存分配 动态内存分配:即由程序员手动的进行内存空间的分配.内存空间的释放的内存管理操作 C++代码中,变量.数组等对象的创建,是由C++自动分配内存的,称之为(自动)静态内存分配 (自动)静态内 ...
- Maven高级——多环境配置与应用
多环境配置与应用 开发步骤 定义多环境 <!--配置多环境--> <profiles> <!--开发环境--> <profile> <id> ...
- java基础 -网络编程笔记
666,InetAddress package com.hspedu.api; import java.net.InetAddress; import java.net.UnknownHostExce ...
- 【译】通过新的 WinUI 工作负荷和模板改进,深入原生 Windows 开发
在 Build 2024 上,WinUI 团队宣布将重新关注 WinUI,将其作为我们推荐的原生 Windows 应用开发的首要应用开发框架之一.为了使其尽可能无缝和轻松地进入编码,我们创建了一个新的 ...
- LeetCode 1397. Find All Good Strings 找到所有好字符串 (数位DP+KMP)
好题- 就是比平时的 hard 难了一些-- 虽然猜出是数位DP了-不过比我之前做的题,好像多了一维,印象中都是一维记录之前状态就够了--然后就没做出-- 至于 KMP 的应用更是神奇,虽然掌握的 k ...
- /proc/pagetypeinfo
这个文件是将buddyinfo的内容进一步细分: Free pages count per migrate type at order -- 不同order 按照migrate type的空闲page ...
- ajax异步请求数据还没有返回,页面时空白的如何处理
使用骨架屏,给用户一种正在解析数据的感觉 : element-ui的骨架屏 :https://element.eleme.cn/#/zh-CN/component/skeleton
- KubeSphere 社区双周报 | FluentBit 新增 tcp 输入插件 | 2023.09.29-10.12
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...