轮播

吃透css3之3d属性--perspective和transform

孤街浪徒 提交于 2019-12-03 12:57:53
本文为原创,转载请注明出处: cnzt 文章:cnzt-p   写在前面:最近写了个3d轮播效果图,在此将思路和过程中遇到的问题都记录下来。 首先,我们下来了解一下perspective和transform都是做什么的。 transform -- css3属性,可以对元素进行变换(2d/3d),包括平移translate,旋转rotate,缩放scale,等等(完整取值参考 W3C)。 perspective -- css3属性,当元素涉及3d变换时,perspective可以定义我们眼睛看到的3d立体效果,即空间感。通俗地解释就比如你去电影院看电影,你距离大荧幕的距离就相当于perspective的值啦,离得越远则perspective值越大,看到空间效果也就会不一样! 接下来,我们就进入正题了。 先上3d轮播图效果图: 图一    图二                                      图三   ***图一为前一张轮播图,图二是轮播图前后切换时的3d效果图,图三为后一张轮播图*** 实现上面的效果,需要三层页面结构: 1. 最外面的容器.swiper-wrapper,即图中天蓝色边框这个部分。为这部分设置关键css如下: transform-style: preserve-3d; //3d旋转效果 perspective: 1000px; /

图片轮播

坚强是说给别人听的谎言 提交于 2019-12-03 12:15:32
秃头警告!!终于图片轮播用原生的JS又写出了一遍,真的麻烦 很多都没有封装,后续再说吧 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>图片轮播</title> <style type="text/css"> .wrap{width:1000px; margin:0 auto; height: 480px; overflow: hidden; position: relative;text-align: center;} li{list-style: none; display: inline-block; width:30px; height: 30px; border:1px solid red; text-align: center; line-height: 30px; background-color: orange; margin-left: 5px;} .num_list{position: absolute; bottom: 20px; left: 10%;} .img_continer img{display: none;} .img_continer .img_dis{display: inline-block;} .le, .ri{font-size: 100px; font-weight

js--tab悬浮切换+延时效果+自动轮播

本秂侑毒 提交于 2019-12-03 05:11:16
<!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> *{ margin:0; padding:0; list-style: none; font-size: 12px; } .notice{ width:298px; height:98px; margin:10px; border:1px solid #7c7c7c; overflow: hidden; } .notice-tit{ height:27px; background-color: #eaeaea; position:relative; } .notice-tit ul{ position: absolute; width:300px; left:-1px; } .notice-tit ul li{ float:left; width:58px; height:26px; line-height: 26px; text-align: center; border-bottom:1px solid #7c7c7c; padding:0 1px; } .notice-tit ul a{ text-decoration: none; display:block; } .notice-tit ul .select{ background

swiper在vue项目中的循环轮播bug以及点击事件

一世执手 提交于 2019-12-03 04:48:57
 一般的,如果是静态数据(本地数据),可以直接在mounted生命周期中初始化,循环轮播、自动播放都比较正常。   但是,如果是动态从后台获取数据的话,采用上述方法会发现,轮播图无法自动播放,也无法拖拽。   解决办法:在从后台获取完数据之后再初始化swiper,同时启动动态检查器observer,当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化swiper,默认是false。这时候使用autoplay开启自动播放是可以的,    然而 当加上loop让其循环播放时,会发现是有问题的。如果不要循环播放的话,上述方法勉强可行,但是如果想要自动播放与循环轮播同时生效的话,还得另寻他法。   解决方法:在获取完数据后,将swiper放在$nextTick下一个UI帧再初始化。 this.$nextTick(() => { // 下一个UI帧再初始化swiper this.initSwiper(); });   然后在initSwiper方法中,完成swiper初始化,如: initSwiper () { const _this = this var mySwiper = new Swiper ('.swiper-container1', { loop: true, autoplay:true, observer:true, observeParents

图片轮播

南笙酒味 提交于 2019-12-03 02:50:47
一.纯CSS实现图片轮播 1)实现原理: 定义两个嵌套的盒子,父盒子的overflow属性需要设置成hidden; 子盒子水平排列一组图片,图片设置成固定宽高,图片和父盒子的宽高一致; 给子盒子中加动画属性,指定动画时间、执行动画的函数、是否无限循环等参数; 用@keyframes实现动画函数,通过逐步改变一个CSS样式到另一个样式,通过百分数控制过程; 2)代码示例: <div id="div1"> <div id="showImg"> <img src="img/video.png" width="1270px" height="390px"/> <img src="img/1.jpg" width="1270px" height="390px"/> <img src="img/2.jpg" width="1270px" height="390px"/> <img src="img/3.jpg" width="1270px" height="390px"/> <img src="img/4.jpg" width="1270px" height="390px"/> </div> </div> #div1{ width:1270px;//此处宽高必须和图片一致 height:390px; overflow: hidden; } #showImg{ height: 390px;

mpvue图片轮播遇到的问题

匿名 (未验证) 提交于 2019-12-03 00:40:02
小程序官方写法: < swiper indicator-dots ="{{indicatorDots}}" autoplay ="{{autoplay}}" interval ="{{interval}}" duration ="{{duration}}" > < block wx:for ="{{imgUrls}}" > < swiper-item > < image src ="{{item}}" class ="slide-image" width ="355" height ="150" /> </ swiper-item > </ block > </ swiper > 我们需要把它改成:(因为vue中绑定属性需要使用v:bind) < swiper :indicator-dots ="indicatorDots" :autoplay ="autoplay" :interval ="interval" :duration ="duration" > < block v-for ="(item,index) in imgUrls" :key ="index" > < swiper-item > < image :src ="item" class ="slide-image" /> </ swiper-item > </ block > </ swiper > 原文

纯js实现无缝滑动轮播

匿名 (未验证) 提交于 2019-12-03 00:37:01
原理:盒子内套入一个绝对定位的盒子,改变left值,实现轮播 通常滑动的小圆点也是动态生成,因为很多时候,我们拿到的数据都是动态的 1、准备html和css <style> * { margin : 0 ; padding : 0 ; } ul, li, ol { list-style : none ; } . slider { width : 590 px ; height : 470 px ; border : 1 px solid #eee ; margin : 100 px auto ; padding : 5 px ; position : relative ; } . inner { width : 100 % ; height : 100 % ; background : pink ; position : relative ; overflow : hidden ; } . inner img { display : block ; } . inner ul { width : 800 % ; position : absolute ; top : 0 ; left : 0 ; } . inner li { float : left ; } . slider ol { position : absolute ; left : 50 % ; margin-left :

文字动态上下轮播效果

匿名 (未验证) 提交于 2019-12-03 00:37:01
最近想做一个文字上下出入得效果,网上找了不少,最终确认一款方案,亲测可用,下边将代码完全展示,留作笔记: jsp文件样式和其他标签忽略,以下将展示重要代码 body中代码如下: js文件代码如下: setInterval (function () { $("#msgSpan",c).animate({opacity:"1",marginTop:"-20px"},2000); 代码解释:setInterval 定时器 http://www.w3school.com.cn/tiy/t.asp?f=jquery_effect_animate 以下附加完整得测晚案例 <!doctype html> <html><head> <meta charset="utf-8"> <meta content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"> <title>轮播</title> <style> </style> <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> </head> <body> <div class="switch-box"> </div> </body>

Vue里使用swiper不能自动轮播问题

匿名 (未验证) 提交于 2019-12-03 00:34:01
Vue项目里使用vue-awesome-swiper组件,其配置通swiper官网配置,但是在实际项目里使用autoplay:3000 并不能实现自动轮播的效果,后来研究发现是需要把autoplay:true能实现这样的效果 swiperOption: { //以下配置不懂的,可以去swiper官网看api,链接http://www.swiper.com.cn/api/ // notNextTick是一个组件自有属性,如果notNextTick设置为true,组件则不会通过NextTick来实例化swiper,也就意味着你可以在第一时间获取到swiper对象,<br data-filtered="filtered">        假如你需要刚加载遍使用获取swiper对象来做什么事,那么这个属性一定要是true notNextTick: true, // swiper configs 所有的配置同swiper官方api配置 autoplay: true, speed:1000, setWrapperSize: true, autoHeight: true, pagination: ".swiper-pagination", paginationClickable: true, mousewheelControl: true, observeParents: true, //

自定义控件轮播图,很好用的demo直接用就行,

匿名 (未验证) 提交于 2019-12-03 00:32:02
1.获取网络地址的轮播图片。 上面这是一个好用的类,实现轮播图,不过这是加载网络上的图片,不能加载本地的,下面我会提供一个本地加载的。 < FrameLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:layout_width= "match_parent" android:layout_height= "match_parent" > < android .support.v4.view.ViewPager android:id= "@+id/imagePager" android:layout_width= "wrap_content" android:layout_height= "wrap_content" /> < LinearLayout android:orientation= "horizontal" android:layout_width= "wrap_content" android:layout_height= "wrap_content" android:id= "@+id/dotsImg" android:gravity= "center_horizontal" android:layout_gravity= "bottom|center