轮播图高度自适应_干货!弘成教你写轮播图全自动适应封装代码
点击蓝字
关注我们
在弘成教育任UI讲师,带了几十个班数百个学生了,我发现学生们最头疼的不是网站界面的设计,各种网站的设计,专题页,详情页,店铺装修,他们都能设计得漂漂亮亮。也不是HTML+CSS的静态代码的编写,几乎所有的静态页面他们都能写。
但是一到网站轮播图的实现方法,部分学生就晕了,觉得太难,因为它涉及javascript,这可比静态HTML代码难太多了,经常有一部分学生听到轮播图的案例部是云里雾里的,一头雾水!
对于一个UI设计师,我也不能对学生们太苛刻了,毕竟设计是他们的主打,轮播图代码能自己写当然最好,写不出来的,其实也没有关系,因为小编花了些时间,用jquery把代码封装了一下,只需要把代码复制一下,改下自己的图片放置的位置,粘贴到自己的网页,轮播图就可以动起来了,这下每个UI设计师都可以自己做轮播放图啦~
完成效果图
代码如下
无限循环翻页
*{margin: 0;padding: 0;list-style: none;font-size: 12px;font-family:"微软雅黑";text-decoration: none;} /*清除所有浏览器自带的样式*/
.focus{position: relative;width:799px;height: 300px;margin: auto;}
.bigPicH{width:100%;height: 100%;position: relative;overflow: hidden}
.bigPic{position: absolute;width:20000px;}
.bigPic a{float: left;}
.leftBtn,.rightBtn{cursor: pointer;width:40px;height: 50px;background: rgba(0,0,0,0.4);position: absolute;top:125px;text-align: center;color: white;line-height: 50px;font-size:15px;}
.leftBtn{left:0px;}
.leftBtn:hover,.rightBtn:hover{background:#464646}
.rightBtn{right:0px;}
.focusBtn{position: absolute;bottom:10px;text-align: center;width:100%}
.focusBtn li{width:10px;height: 10px;background: rgba(0,0,0,0.8);border-radius: 50%;display: inline-block;margin: 0 2px}
.focusBtn .on{background: green;}
var imgWidth = $(".bigPic a img").width()//获取图片的宽度
var imgHeight = $(".bigPic a img").height()//获取图片的高度
$(".focus").css({"width":imgWidth,"height":imgHeight})//设置 focus的宽高为图片的宽高
var getBtnTop = (imgHeight-50)/2 //计算左右翻面按钮的值
$(".leftBtn,.rightBtn").css({"top":getBtnTop})//设置左右翻面按钮的top值
var imgNum= $(".bigPic a").length//获取图片的个数
var numliend = imgNum-1 //序号从零开始,所以减一,得出li标签的数
var imgNum2=imgNum; //每滚一次减一,等于零时返回原来的图片个数
var imgWidthAll = -imgWidth*imgNum //计算滚到底的总距离
var imgNunR = imgNum*2
var btnOn = true; //点击按钮后的开关,防止按钮被多次点击
var bigPicHtml = $(".bigPic").html() //获取所有的A标签和IMG内容
$(".bigPic").append(bigPicHtml+bigPicHtml) //把所有的A和图片复制两份一份用来左滚一份用来右滚
$(".bigPic").css({"left":imgWidthAll}) //初始化图片的位置,三份,一份放左,一份放右
for(var forli=0;forli
$(".focusBtn").append("") //for循环,按图片的个数插入一样多的li标签
}
$(".focusBtn li").eq(0).addClass("on") //第一个li标签
function leftBtn(){ //左边的翻页按钮
if(btnOn==true){ //判断是否可点击,防止按钮被多次点击
imgNum=imgNum-1
}else{
return false;
}
btnOn = false
var linum=$(".on").index()//获取当前元素的序号
if(linum==0){
$(".focusBtn li").eq(numliend).addClass("on").siblings().removeClass("on")//让下一个li加载样式获取当前滚到哪一张
}else{
$(".focusBtn li").eq(linum-1).addClass("on").siblings().removeClass("on")//每点一次向左滚一张
}
$(".bigPic").stop().animate({"left":-imgWidth*imgNum},function(){
btnOn = true
if(imgNum==0){ //若滚到第一张则下一张滚到最后一张
$(".bigPic").css({"left":imgWidthAll})
imgNum=imgNum2
}
})
}
function rightBtn(){ //右边的翻页按钮
if(btnOn==true){//判断是否可点击,防止按钮被多次点击
imgNum=imgNum+1
}else{
return false;
}
btnOn = false
var linum=$(".on").index()
if(linum==numliend){
$(".focusBtn li").eq(0).addClass("on").siblings().removeClass("on")
}else{
$(".focusBtn li").eq(linum+1).addClass("on").siblings().removeClass("on")
}
$(".bigPic").stop().animate({"left":-imgWidth*imgNum},function(){
btnOn = true
if(imgNum==imgNunR){
$(".bigPic").css({"left":imgWidthAll})
imgNum=imgNum2
}
})
}
$(".focusBtn li").hover(function(){ //鼠标停留在切换按钮上轮播图自动滚到对应的图片上面
var linum2=$(this).index()
$(".bigPic").stop().animate({"left":-imgWidth*(linum2+3)})
$(".focusBtn li").eq(linum2).addClass("on").siblings().removeClass("on")
})
timer=setInterval(rightBtn,3000)//每3秒自动滚一次
$(".focus").hover(function(){ //鼠标停留在轮播图上则暂停滚动
clearInterval(timer)
},function(){
timer=setInterval(rightBtn,3000)//鼠标离开后继续滚动
})
$(".leftBtn").click(function(){ //每点一次左滚一张
leftBtn()
})
$(".rightBtn").click(function(){ //每点一次右滚一张
rightBtn()
})
轮播图高度自适应_干货!弘成教你写轮播图全自动适应封装代码相关推荐
- swiper高度自适应_微信小程序之swiper轮播图片高度自适应
微信小程序中使用swiper组件可以实现图片轮播效果,但是默认swiper高度是固定的150px,如果项目中图片大于固定高度就会被隐藏,所以本篇文章要实现轮播图片的高度自适应. 效果图: swiper ...
- 轮播图高度自适应_【2020顶会NIPS】用于交通预测的自适应图卷积循环网络
就idea来说,这篇文章整体感觉亮点只有参数分解一处,其他的自适应网络结构,之前已经有文章研究,如果在计算方面有需求,或者是网络节点较多的应用可以参考这篇文章. Adaptive Graph Conv ...
- python 二维图堆起来_干货满满:python实现二维图制作
python全代码如下 import re import csv import matplotlib.pyplot as plt x=[] y=[] m=eval(input()) #输入折线条数 f ...
- 微信小程序swiper图片尺寸_微信小程序 swiper 轮播图 高度自适应
微信小程序 swiper 轮播图 高度自适应 发布时间:2018-07-20 15:34, 浏览次数:588 , 标签: swiper 小程序中使用swiper 组件 ,实现轮播图高度自适应效果. 先 ...
- swiper高度自适应_小程序 swiper 图片高度自适应+预览图片
一.概述: 在开发小程序的项目中,经常会用到swiper这个轮播组件,但是使用的时候会有一个问题,swiper系统会默认一个高度而且是px为单位的,如下: swiper { display:block ...
- swiper高度自适应_小程序自定义导航自适应高度
小程序导航条自定义,高度自适应iphoneX等刘海手机和其他手机,开启导航自定义需要在app.json文件里将window的 navigationStyle属性设置为: custom,开启导航自定义可 ...
- swiper高度自适应_微信小程序swiper高度自适应
微信小程序swiper高度自适应的实现方式,首先swiper默认最小高度150,下面请看开发实例. 要求:swiper高度自适应 wxml wxss .swiper image { width: 10 ...
- 使用pp架构形成计算机集群请求的地址无效_干货!史上最详细脑图《大型网站技术架构》...
1. 介绍一下 <大型网站技术架构>这本书可能很多人都看过,小编个人觉得真的是非常不错的一本书. 看完这本书后,你会对如何设计大型网站架构,有非常清晰的思路. 如果还没有读过的小伙伴,赶紧 ...
- 机械动作时序图怎么画_程序员必备画图技能之——时序图
什么是时序图 时序图(Sequence Diagram),又名序列图.循序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作. 使用场景 时序图的使用场景非常广泛, ...
最新文章
- Java项目:慢病报销管理信息系统(java+MySQL+Jdbc+Servlet+Jsp)
- 阿里90后科学家研发,达摩院开源新一代AI算法模型
- 完全平方数(打表+二分)
- JavaScript高级程序设计学习笔记--事件
- [C++] - 纯虚函数 抽象基类 接口类
- Adobe Photoshop源代码以及3800万用户信息泄漏
- 模板类的析构函数如何写_项目经理如何正确写好年终总结+10大PPT模板可直接套用...
- [数分提高]2014-2015-2第9教学周第2次课 (2015-04-30)
- 阿里云中获取文件及目录列表的方法
- openjdk8之编译和debug
- QCC3020开发问题汇总(更新中。。。)
- WAP1 X/WAP2 0以及WAP浏览器的协议版本
- NLP-自然语言处理入门(持续更新)
- codeforces838D - Airplane Arrangements
- 51单片机LCD1602液晶屏显示方法
- 圣诞节蓝牙耳机选哪款作为礼物比较好?耐用的蓝牙耳机推荐
- paypal付款,PayPal Subscribe和PayPal Check Out的区别
- C#图片处理 解决左右镜像相反(旋转图片)
- kubeadm集群化部署多master节点(生产环境适用)
- 2018 php面试题
热门文章
- HDU 2588 GCD 【Euler + 暴力技巧】
- Spring boot 连接Redis实现HMSET操作
- 二维数组中的查找(java)
- [Angular 2] Nesting Elements in Angular 2 Components with ng-content (AKA Angular 2 Transclusion)
- phonegap安装 环境搭建与配置详解(3.4 完整版 提供下载地址)
- Android入门之简单拨号器
- JS作用域链(转载)
- [编程之美]饮料供货
- 计算神经生物学 计算机转生物,计算神经生物学的应用有哪些?
- Spire.Doc for Java的jar包、maven库-全套free资源