-
2021-04-21 14:32:07
element轮播图实现点击图片切换路由
-
确保已经安装了elementui,并且注册好了路由
elementui官网(安装和轮播组件文档都有详细说明,不赘述) -
开始改造vue组件
- html部分
- router-link标签@click事件,绑定的事件无效,因为router-link的作用是单纯的路由跳转,会阻止click事件,如果不加 .native, 事件是不会触发的
//html部分 <template> <div> <el-carousel :interval="4000" type="card" height="200px" ref="carousel" @click.native="linkTo"> <!---注意:@click后加.native---> <el-carousel-item v-for="item in imgs" :key="item.url"> <img :src="item.url"/> </el-carousel-item> </el-carousel> </div> </template>
- JS部分
- 图片显示问题:用require(’ '),
- 关于图片引入的格式:
'…/assets/image/qqgroup.jpg’是绝对路径引入。如果以后图片移动了位置,代码也需要相应修改。
'@/assets/image/qqgroup.jpg’是动态引入(我自己用有时候会报错有时候又不会,之前报错的时候没注意看错误提示,之后发现了再更新)
<script> export default { name: "index", data() { return { imgs: [ {url: require('../assets/image/qqgroup.jpg'), link: '/business/info_attchment_testyz'}, {url: require('@/assets/image/qqgroup.jpg'), link: '/business/info_attchment_testjg'}, //{url: require('图片地址'), link: '路由地址'}, ] }; }, methods: { linkTo () { //跳转路由 let activeIndex = this.$refs.carousel.activeIndex this.$router.push(this.imgs[activeIndex].link) } }, }; </script>
- CSS部分
//直接用的elementui提供的默认格式 .el-carousel__item h3 { color: #475669; font-size: 14px; opacity: 0.75; line-height: 200px; margin: 0; } .el-carousel__item:nth-child(2n) { background-color: #99a9bf; } .el-carousel__item:nth-child(2n+1) { background-color: #d3dce6; }
更多相关内容 -
-
纯div+css轮播图片切换图片
2018-11-07 17:54:06纯DIV+CSS做的三种图片滚动,轮播图片 1.2.3.4图片切换 电子相册 -
jQuery响应式图片切换代码
2021-06-24 12:25:19jQuery响应式图片切换代码是一款实用的宽屏焦点图片轮播切换效果,适用于手机网页的响应式焦点图代码。 -
jquery幻灯片图片轮播带进度条幻灯片图片切换
2019-10-27 13:36:21jquery幻灯片图片轮播带进度条幻灯片图片切换 -
jquery图片轮播图多图切换效果(带小图左右箭头)
2022-03-16 14:36:411、jq+swiper轮播图 2、支持下方小图切换 3、支持左右箭头切换 -
JS 轮播图 图片切换(定时器)
2019-08-13 22:10:50JS 轮播图 图片切换(定时器) 这次的轮播图与上次的图片切换相比,仅仅是加上了定时器,使其可以自动切换。 上次的图片切换的链接:https://blog.csdn.net/qq_38318589/article/details/99050117标题JS 轮播图 图片切换(定时器)
这次的轮播图与上次的图片切换相比,仅仅是加上了定时器,使其可以自动切换。
上次的图片切换的链接:https://blog.csdn.net/qq_38318589/article/details/99050117
此次全部的代码都在下面,有注释,并有效果图如下:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>图片切换</title> <style> .picture { position: relative; width: 500px; height: 333px; margin: 0 auto; border: 2px solid rgb(231, 127, 217); overflow: hidden; } .radius { /* 圆点所在的p (容器) */ width: 100%; height: 10px; position: absolute; bottom: 30px; text-align: center; } .pg { position: absolute; margin: 0; width: 100%; height: 20px; background-color: rgba(0, 0, 0, .4); text-align: center; font-size: 16px; font-weight: 600; color: #fff; } .title { position: absolute; width: 100%; bottom: 0px; text-align: center; font-size: 16px; font-weight: 600; color: rgb(21, 223, 72); } span { display: inline-block; border: 10px solid #fdfdfd; border-radius: 50%; } .active { border: 10px solid #656466; } /* 左右箭头 */ .arrowhead-left, .arrowhead-right { position: absolute; width: 41px; height: 69px; font-size: 30px; line-height: 70px; text-align: center; color: #D6D8D4; background-color: rgba(0,0,0,.3); } .arrowhead-left { left: 0; top: 40%; } .arrowhead-right { right: 0; top: 40%; } </style> </head> <body> <div class="picture"> <!-- 图片页码 --> <p class="pg">封面</p> <img src="./image/d8.jpeg" alt=""> <!-- 小圆点点 --> <p class="radius"></p> <!-- 图片的下面标题 --> <p class="title">标题</p> <!-- 左右箭头 --> <div class="arrowhead-left" id="al"> < </div> <div class="arrowhead-right" id="ar"> > </div> </div> <script> var address = ["./image/d1.jpeg", "./image/d2.jpeg", "./image/d3.jpeg", "./image/d4.jpeg", "./image/d5.jpeg", "./image/d7.jpeg"]; // var imgs = document.getElementsByTagName("img"); var imgs = document.querySelector("img"); var len = address.length; //图片地址的数量为len var str = ""; var pp = document.getElementsByTagName("p");//获取的是p标签的集合 // var pp = document.querySelector("p"); //获取的是一个元素 var al = document.getElementById("al"); var ar = document.getElementById("ar"); var n = 0 ; //添加span标签(小圆点),个数为len个 for (i = 0; i < len; i++) { str += ' <span></span>' } pp[1].innerHTML = str; var spans = pp[1].getElementsByTagName('span'); //获取p[1]里所有span标签 spans[0].className = 'active'; //给第一个span标签添加样式 active for (i = 0; i < len; i++) { spans[i].index = i; //自定义索引值 spans[i].onmouseover = function () { //鼠标指向圆点时的事件 for (i = 0; i < len; i++) { spans[i].className = ""; //通过循环,清除所有圆点的类名 } n=this.index ; this.className = 'active'; //给鼠标移入的圆点添加类名 imgs.src = address[this.index]; pp[0].innerHTML = [this.index + 1] + "/6"; pp[2].innerHTML = "风光" + [this.index + 1]; } } ar.onclick = function () { //右侧箭头,点击一次图片向右换一张 n++; if (n>5) { n=0; } for (i = 0; i < len; i++) { spans[i].className = ""; } spans[n].className = "active"; imgs.src = address[n]; pp[0].innerHTML = (n+1) + "/6"; pp[2].innerHTML = "风光" +(n+1); } al.onclick = function () { // //左侧箭头,点击一次图片向左换一张 n--; if (n<0) { n=(len-1); } for (i = 0; i < len; i++) { spans[i].className = ""; } spans[n].className = "active"; imgs.src = address[n]; pp[0].innerHTML = (n+1) + "/6"; pp[2].innerHTML = "风光" +(n+1); } setInterval(ar.onclick,3000); //添加定时器 setInterval(函数,间隔时间单位为毫秒) //此次添加的函数为点击右侧箭头,间隔为3秒 </script> </body> </html>
与上次相比,仅仅添加了一句 setInterval(ar.onclick,3000);
setInterval(函数,间隔时间单位为毫秒)
ar.onclick是点击右侧箭头的函数,3000是3000毫秒,既3秒。(请忽略图片上的水印,随便找的一个做动图的软件,带水印-_-!)
-
Unity图片切换轮播功能
2018-12-06 16:28:26一个可以在Unity进行图片轮播的demo,只需要给一个texture 2d的图片数组就可以直接用,有多种切换特效 -
JavaScript 实战(图片切换)【轮播图】
2022-04-10 16:12:57JavaScript 实现简单的轮播图效果。功能描述:
- 点击下一张换到下一张图片。
- 点击上一张换到上一张图片。
- 等到最后一张时,再点击下一张呈现第一张图片。
实现效果:
图片切换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>图片切换</title> <style> /* 给图片设置同样的宽和高 */ img { width: 200px; height: 200px; } /* 给按钮设置精美的样式*/ button { width:98px; height: 40px; background: skyblue; color: white; border: 0; } </style> </head> <body> // 放入第一张图片 <img src="../imgs/Baymax1.png" id="baymax"> <br> <button id='prev'>上一张</button> <button id='next'>下一张</button> <script> // 1.获取事件源 var baymax = document.querySelector('#baymax') var nextBtn = document.querySelector('#prev') var prevBtn = document.querySelector('#next') // 初始化 最小索引、最大索引和当前索引 var minIndex = 1 var maxIndex = 4 var currentIndex = minIndex // 2.监听按钮的点击 (下一张) nextBtn.onclick = function(){ // 当前索引等于最大索引时,把当前索引修改为最小索引 if(currentIndex === maxIndex){ currentIndex = minIndex }else{ // 当前索引每次+1 currentIndex++ } // 改变 baymax 图片的 src 属性 baymax.setAttribute('src','../imgs/Baymax'+ currentIndex +'.png') } // 监听按钮的点击 (上一张) prevBtn.onclick = function(){ if(currentIndex === minIndex){ currentIndex = maxIndex }else{ currentIndex-- } baymax.setAttribute('src','../imgs/Baymax'+ currentIndex +'.png') } </script> </body> </html>
注意点:
- 图片的地址要设置成连续的,比如
'Baymax1.png'
、'Baymax2.png'
,便于获取和呈现图片。 currentIndex
的作用是来定位到我们想得到的图片,利用+
拼接的方法,改变图片的地址。setAttribute()
:用于创建或改变某个新属性。此处的作用就是改变图片的地址。[ 参考链接 ]
-
axure轮播图(含底部小圆点,自动轮播与左右切换)
2022-04-11 17:17:07绘制的axure轮播图,使用动态面板进行绘制,所用到的都是使用最简单的方式进行的实现,优化了好几次,功能包含底部小圆点,支持点击切换至对应的页面,自动轮播与左右切换,帮助你快速实现轮播功能 -
swiper轮播图demo
2020-09-22 08:57:09轮播图demo,一屏显示三张图片,中间图片放大,两边图片缩小效果。技术是基于swiper的轮播图,提供给大家参考。 -
Android轮播图点击图片放大效果的实现方法
2021-01-05 09:07:01最近项目中需要实现轮播图显示商品图片,当用户点击商品图片的时候,需要图片放大显示,当然用户还能进行多张图片的滑动切换,放大,缩小图片等操作,实现起来相对还是比较简单的,话不多说,咱们是用代码说话的,... -
Vuetify Carouse轮播图 图片切换导致页面总是自动跳转到轮播图位置
2020-07-14 00:33:10vuetify carouse轮播图 的图片自动切换的时候, 会自动聚焦跳转到轮播图自身的位置. 这导致了一个问题, 当屏幕同时显示着轮播图和其他内容时, 轮播图一自动切换, 页面就会自动跳转到轮播图的位置… Solution1 ...begin
vuetify carouse轮播图 的图片自动切换的时候, 会自动聚焦跳转到轮播图自身的位置.
这导致了一个问题, 当屏幕同时显示着轮播图和其他内容时, 轮播图一自动切换, 页面就会自动跳转到轮播图的位置!
!!!
紧急补充!
经过十个测特效的测试 https://vuetifyjs.com/zh-Hans/styles/transitions/
终于发现, 仅仅是几个特效( 比如是出问题的淡入特效 ) 在图片切换的时候会重新跳回去!!!
最终选择了这两个不会导致图片重新跳转到原位置的特效!Solution1
Solution2
我在找问题的时候, 也发现了一个有趣的问题
如果有 v-container 标签包裹的 带淡入特效的轮播图, 那么他会自动跳转 如下问题重现:
https://codepen.io/syousui/pen/pogZKPV?editors=1010
那么这样解决方案就有了,
要么像 Solution1 那样删掉淡入特效,
https://codepen.io/syousui/pen/pogZKPV?editors=1010
要么就删掉 v-container.
https://codepen.io/syousui/pen/pogZKPV?editors=1010
链接进不去请自行科学上网处理
end
我的项目中, 我尝试删掉所有带自适应属性的标签来试图通过 Solution1 来解决, 但是并没有效果
最终只得删了淡入切换的特效…
这个问题困扰了好几天了, 今天终于一行一行, 一个属性一个属性注释, 总结到了上述几个经验
如有其他见解欢迎讨论!
-
移动端简易jquery轮播图
2021-04-07 21:17:08移动端简易jquery轮播图是一款支持移动端,可触摸滑动的图片切换特效。 -
简单实现android轮播图
2021-01-04 23:18:35轮播图是很常用的一个效果 核心功能已经实现 没有什么特殊需求 自己没事研究的 所以封装的不太好 一些地方还比较糙 为想要研究轮播图的同学提供个参考 目前测试图片为mipmap中的图片 没有写从网络加载图片 可自行... -
轮播图 轮播图 轮播图 轮播图
2022-06-27 22:17:23轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图轮播图... -
jquery堆叠图片左右切换轮播图插件
2019-12-11 20:13:06这是一款jquery堆叠图片左右切换轮播图插件。该轮播图插件可以将图片左右对齐堆叠在一起,并可以通过前后导航按钮来左右切换图片。 -
详解JavaScript实现动态的轮播图效果
2020-12-29 02:53:09利用javascript能实现常见的动态的网页轮播图效果,如下图1所示: 图1 实现该轮播图有以下几个要点: (1)在左右两侧各有一个箭头,分别指的是向左和向右切换,即点击相应的位置就会切换到该图片之前(或之后)的一张... -
jQuery圆形横向图片轮播图切换
2021-04-07 22:42:59jQuery圆形横向图片轮播图切换是一款个性设计的jQuery+HTML5响应式圆形图片轮播图特效插件mislider。 -
WPF实现手风琴式轮播图切换效果
2020-12-17 01:02:15本文实例为大家分享了WPF实现轮播图切换效果的具体代码,供大家参考,具体内容如下 实现效果如下: 步骤: 1、自定义控件MyImageControl 实现图片的裁切和动画的赋值。 public partial class MyImageControl : ... -
JavaScript实现简单轮播图效果
2020-12-29 09:11:05本文实例为大家分享了js实现简单轮播图效果的具体代码,可以实现左右翻转,图片切换显示等效果,供大家参考,具体内容如下 效果展示: 代码展示: <!doctype html> <html> <!-- 学习功能:使用... -
基于vue2.0实现简单轮播图
2020-11-27 13:00:46如图所示,实现的就是一个间隔2.5s自动向左切换下一张的轮播图,同时鼠标移入停止轮播,移出回复轮播; 而下方按钮会根据当前图片自动变红且可以手动控制当前图片。 思路: 整个demo分为轮播图片和控制span两个部分... -
图片切换,轮播图
2015-03-17 15:49:09图片切换,轮播图,图片切换,轮播图,图片切换,轮播图 -
jQuery圆形横向图片轮播图切换.zip
2019-07-04 22:52:32jQuery圆形横向图片轮播图切换是一款个性设计的jQuery HTML5响应式圆形图片轮播图特效插件mislider。 -
使用CSS实现简单的图片切换(轮播图)
2020-03-29 21:56:51使用CSS实现简单的图片切换(轮播图) 预览图如下: 一:首先创建基本布局 创建一个div容器 ,里面的ul与ol标签分别对应轮播图片和下方圆点; <!DOCTYPE html> <html lang="en"> <head> <... -
JS仿京东移动端手指拨动切换轮播图效果
2020-10-20 21:59:48主要为大家详细介绍了JS仿京东移动端手指拨动切换轮播图效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
js实现从左向右滑动式轮播图效果
2020-12-08 22:48:43轮播图从效果来说有滑动式的也有渐入式的,滑动式的轮播图就是图片从左向右滑入的效果,渐入式的轮播图就是图片根据透明度渐渐显示的效果,这里说的是实现第一种效果的方法。 原理 相同大小的图片并成一列,但只... -
jQuery自适应图片轮播代码_自适应图片切换代码
2019-11-16 16:33:58jQuery自适应图片轮播代码_自适应图片切换代码 -
js轮播图透明度切换(带上下页和底部圆点切换)
2020-10-19 23:17:01本篇文章主要介绍了js轮播图透明度切换(带上下页和底部圆点切换)的实例。具有很好的参考价值。下面跟着小编一起来看下吧 -
BootStrap实现轮播图效果(收藏)
2020-11-28 17:15:54今天学习bootstrap,发现轮播图的实现很强大,于是记录下来,方便自己以后使用。 1:相关知识总结 carousel slide:整个轮播图的最外边一层的样式 data-ride:用于标记轮播在页面加载时就开始动画播放 data-... -
带视频播放的全屏轮播图布局特效
2019-12-11 16:07:04这是一款带视频播放的全屏轮播图布局特效。该布局以轮播图的方式展示消息,当用户点击轮播图之后,会全屏播放指定的视频文件。