2024年最新VUE中用原生js实现轮播图效果(1),前端社招面试题

总结

秋招即将开始,校招的朋友普遍是缺少项目经历的,所以底层逻辑,基础知识要掌握好!

而一般的社招,更是神仙打架。特别强调,项目经历不可忽视;几乎简历上提到的项目都会被刨根问底,所以项目应用的技术要熟练,底层原理必须清楚。

这里给大家提供一份汇集各大厂面试高频核心考点前端学习资料。涵盖 HTML,CSS,JavaScript,HTTP,TCP协议,浏览器,Vue框架,算法等高频考点238道(含答案)

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

资料截图 :

高级前端工程师必备资料包

ProductName: ‘ET-NBAC-II’,

Description: ‘ET-NBAC-II三相不平衡智能调控系统是一种智能实时调控装置…’,

picSrc: require(‘…/assets/images/ET-NBAC-II.png’),

picWidth: ‘80px’

},

{

ProductName: ‘ET-TSC++’,

Description: ‘ET-TSC++超快速电容器综合模块,具有速度快、容量大、寿命长…’,

picSrc: require(‘…/assets/images/ET-TSC++.png’),

picWidth: ‘80px’

},

{

ProductName: ‘ET-D(S)VS’,

Description: ‘末端电压稳定装置是一种跟踪末端线路电压变化、自…’,

picSrc: require(‘…/assets/images/ET-D(S)VS.png’),

picWidth: ‘80px’

},

{

ProductName: ‘在线监测系统’,

Description: ‘电能质量在线监测系统是面向对象的大型电能质量在线监测与管理系统。…’,

picSrc: require(‘…/assets/images/在线监测系统.png’),

picWidth: ‘80px’

},

{

ProductName: ‘PQ2000’,

Description: ‘PQ2000电能质量分析仪是北斗易通结合我国电力系统的特点,采用…’,

picSrc: require(‘…/assets/images/PQME2000.png’),

picWidth: ‘80px’

},

{

ProductName: ‘PQME2000系列’,

Description: ‘PQME2000系列是北斗易通公司严格按照国家颁布的相关技术标准…’,

picSrc: require(‘…/assets/images/PQME2000系列.png’),

picWidth: ‘80px’

}

]

}

},

mounted () {

let len = this.productList.length % 4

// 根据产品数组长度除以4的余数,来给数组末尾加入几个空的object

switch (len) {

case 0:

break

case 1:

for (let i = 0; i < 3; i++) {

this.productList.push(

{

ProductName: ‘’,

Description: ‘’,

picSrc: ‘’,

picWidth: ‘0’

}

)

}

break

case 2:

for (let i = 0; i < 2; i++) {

this.productList.push(

{

ProductName: ‘’,

Description: ‘’,

picSrc: ‘’,

picWidth: ‘0’

}

)

}

break

case 3:

this.productList.push(

{

ProductName: ‘’,

Description: ‘’,

picSrc: ‘’,

picWidth: ‘0’

}

)

break

default:

break

}

// 取数组前4个元素,加入到数组末尾去,便于轮播

let productListFrontFourthObject = this.productList.slice(0, 4)

for (let i = 0; i < productListFrontFourthObject.length; i++) {

this.productList.push(productListFrontFourthObject[i])

}

// 设置定时,开始轮播

let _this = this

setTimeout(function () {

_this.changeLeftVal()

}, 3000)

},

methods: {

// 移动面板mobilePanel left属性变化函数

changeLeftVal () {

// 变化前移动面板的left属性值

let beforeLeftVal = parseInt(document.querySelector(‘.mobilePanel’).style.left)

// 变化后移动面板的left属性值

let afterLeftVal = beforeLeftVal - 1080

// 给左移添加动画

this.animate(beforeLeftVal, afterLeftVal)

},

// 动画效果

animate (beforeLeftVal, afterLeftVal) {

let _this = this

var interval

// 设置定时器,这里设置10ms移动108px,即100ms移动1080px,也就是说动画效果时间为100ms

interval = setInterval(function () {

beforeLeftVal -= 108 // left值减108

document.querySelector(‘.mobilePanel’).style.left = beforeLeftVal + ‘px’ // 渲染到DOM中

// 如果beforeLeftVal值已经变化到 等于我们需要的值时

if (beforeLeftVal === afterLeftVal) {

// 清初定时器

clearInterval(interval)

// 当beforeLeftVal值等于 -1080 × (产品数组长度/4 - 1),将移动面板的left值归零

if (beforeLeftVal === -1080 * (_this.productList.length / 4 - 1)) {

document.querySelector(‘.mobilePanel’).style.left = 0

}

// 继续改变移动面板left值

setTimeout(function () {

_this.changeLeftVal()

}, 3000)

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

前端校招面试题精编解析大全

// 继续改变移动面板left值

setTimeout(function () {

_this.changeLeftVal()

}, 3000)

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。

[外链图片转存中…(img-logXao2c-1715710638171)]

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值