JavaScript随手笔记---轮播图(点击切换)

简介: JavaScript随手笔记---轮播图(点击切换)



一、方法一:点击切换

1.实现原理

  基本上摸透了实现原理,实现起来难度就不会很大啦;

  • Step 1、创建一个对象来保存图片资源的路径和数量,如下:
var albumImageList = {
  length: 3,  //图片数量
  1: {id: 1, uri: "images/BO_09.png"}, 
  2: {id: 2, uri: "images/HRbackground.png"}, 
  3: {id: 3, uri: "images/local_MUSIC_00010.png"}
};
var albumImageCurrent = 1;      // 当前图片选择序列号

其中length表示图片数量,{id: 1, uri: "images/BO_09.png"}表示当前图片位置和路径,其实不用id也可以的,读者可以进行优化。albumImageCurrent 变量后面切换图片的会用上。

  • Step 2、(📢 📢 📢 最重要的一步!!!)通过点击产生回调事件,这时候判断当前显示图片位置是否超过length,没有则会对象下标加1显示下一张图片,反之显示第一张图片。从而实现图片显示循环。
  • Step 3、注册按钮事件,在回调函数中加入图片切换函数(可自己封装);

2.实现过程

  建立变量:

var albumImageList = {
  length: 3, //图片数量
  1: {id: 1, uri: "images/BO_09.png"}, 
  2: {id: 2, uri: "images/HRbackground.png"}, 
  3: {id: 3, uri: "images/local_MUSIC_00010.png"}
};
var albumImageCurrent = 1;      // 当前图片选择序列号

  图片切换函数:

/**
 * @author CSH
 * @function 函数功能:图片轮播
 * @param {Object} imageName [控件名称,用于实现多控件使用]
 * @param {Object} event [当前对象指针]
 */
function albumWheelImage(imageName, event){
  var imageURI = {};
  if(albumImageCurrent < albumImageList.length){
    // 构建对象 imageURI
    imageURI[imageName] = albumImageList[++albumImageCurrent].uri;
    // 对控件进行赋值
    page.setData(imageURI,uri);
  }else{
    // 构建对象 imageURI
    imageURI[imageName] = albumImageList[1].uri;
    // 对控件进行赋值
    page.setData(imageURI,uri);
    // 当前显示图片位置
    albumImageCurrent = 1;
  }
};

  按钮回调事件,AlbumStyle1为按钮控件名,albumImage1为图片显示控件名,这里要实现三个按钮切换图片。

/**
   * @author CSH
   * @function 函数功能: 按钮触发回调事件
   * @param {Object} event [当前对象指针]
   */
  ontouchCallback: function (event) {
    var that = this;
    switch(event.target.id){
      case "AlbumStyle1":
        albumWheelImage("albumImage1",that);
        break;
      case "AlbumStyle2":
        albumWheelImage("albumImage2",that);
        break;
      case "AlbumStyle3":
        albumWheelImage("albumImage3",that);
        break;
    }
  },
  .
  .
  .
// 按钮回调事件的注册
   item.AlbumStyle1 = {ontap : that.ontouchCallback};
   item.AlbumStyle2 = {ontap : that.ontouchCallback};
   item.AlbumStyle3 = {ontap : that.ontouchCallback};

3.实现效果

  这次实现是在手表上进行操作的;⌚ ⌚ ⌚

二、方法二:定时切换

  方法一讲解了点击切换图片,想要自动切换的话,可以使用js中的setInterval定时函数来实现。

1.实现原理

  • Step 1、由于前面方法一已经封装了图片切换的函数albumWheelImage(),只要setInterval()设置定时间隔,然后把albumWheelImage()放入定时回调中即可;

setInterval(func, time)函数参数介绍:

  • func : 回调函数,该函数会每隔一段时间被调用一次;
  • time: 每次调用间隔的时间,单位是毫秒;
  • 返回值:返回一个Number类型的数据,这个数字用来作为定时器的唯一标识;

  注意:停止轮播图的时候记得清空定时器clearInterval();

2.实现过程

  实现定时轮播比较简单,给定回调函数跟时间间隔即可;

this.showTips = setInterval(function () {
      albumWheelImage("albumImage1",that);
    }, 1000);

3.实现效果

  这次实现是在手表上进行操作的;⌚ ⌚ ⌚


总结

  感谢观看,如果有帮助到你,请给文章点个赞和收藏,让更多的人看到。🌹 🌹 🌹

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!


相关文章
|
17天前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
33 0
|
1天前
|
数据采集 存储 监控
实现自动化数据抓取:使用Node.js操控鼠标点击与位置坐标
本文介绍了如何使用Node.js和Puppeteer实现自动化数据抓取,特别是针对新闻网站“澎湃新闻”。通过设置代理IP、User-Agent和Cookie,提高爬虫的效率和隐蔽性,避免被网站封锁。代码示例展示了如何模拟鼠标点击、键盘输入等操作,抓取并整理新闻数据,适用于需要规避IP限制和突破频率限制的场景。
30 10
|
22天前
|
前端开发
js-基础轮播图制作
js-基础轮播图制作
19 7
|
2月前
|
JavaScript 前端开发
js轮播图练习
文章介绍了如何使用HTML、CSS和JavaScript创建一个简单的轮播图效果。通过`img`标签展示图片,并通过点击下方的点(`span`标签)切换图片。文章提供了完整的HTML结构、CSS样式和JavaScript代码,以及图片的展示和轮播图的效果图。
js轮播图练习
|
2月前
|
JavaScript 前端开发 Java
JavaScript笔记(回顾一,基础知识篇)
JavaScript基础知识点回顾,包括语言定义、ECMAScript规范、字面量、变量声明、操作符、关键字、注释、流程控制语句、数据类型、类型转换和引用数据类型等。
JavaScript笔记(回顾一,基础知识篇)
|
27天前
|
JavaScript 前端开发
js轮播图有左右箭头和小点
js轮播图有左右箭头和小点
30 1
|
2月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
2月前
|
JavaScript 前端开发
JS判断点击是单击还是双击
如何使用JavaScript判断用户点击是单击还是双击。
38 0
|
3月前
|
JavaScript 前端开发 Java
JavaScript内存泄露大揭秘!你的应用为何频频“爆内存”?点击解锁救星秘籍!
【8月更文挑战第23天】在Web前端开发中,JavaScript是构建动态网页的关键技术。然而,随着应用复杂度增加,内存管理变得至关重要。本文探讨了JavaScript中常见的内存泄露原因,包括意外的全局变量、不当使用的闭包、未清除的定时器、未清理的DOM元素引用及第三方库引发的内存泄露。通过了解这些问题并采取相应措施,开发者可以有效避免内存泄露,提高应用性能。
47 1
|
3月前
|
JavaScript
js轮播图制作
js轮播图制作
33 1