2024年最全使用事件代理实现vue的手风琴组件,面试的教程

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
就答题情况而言,第一问100%都可以回答正确,第二问大概只有50%正确率,第三问能回答正确的就不多了,第四问再正确就非常非常少了。其实此题并没有太多刁钻匪夷所思的用法,都是一些可能会遇到的场景,而大多数人但凡有1年到2年的工作经验都应该完全正确才对。
只能说有一些人太急躁太轻视了,希望大家通过此文了解js一些特性。

并祝愿大家在新的一年找工作面试中胆大心细,发挥出最好的水平,找到一份理想的工作。

window.addEventListener(‘scroll’, this.RreachBottom)

},

methods: {

// 找到li子节点

getNode(node) {

if (node.nodeName === ‘LI’) {

return node

} else if (node.nodeName === ‘UL’) {

return false

} else {

return this.getNode(node.parentNode)

}

},

toggle(e) {

var target = e.target || e.srcElement

var $li = document.querySelectorAll(‘li’)

// thisLi 当前点击li的e.target

var thisLi = this.getNode(target)

// 获取所有列表项,生成数组

var $details = document.querySelectorAll(‘.earnDetail’)

// 获取所有旋转图标,生成数组

var $icons = document.querySelectorAll(‘.eranIcon’)

for (let i = 0, length = $li.length; i < length; i++) {

if (thisLi === $li[i]) {

if ($details[i].style.display === ‘’) {

// div展开时,将它隐藏

$details[i].style.display = ‘none’

$icons[i].className = ‘eranIcon’

} else {

// 隐藏时,将它展开

// 如果当前详情项数组里无对应此项数据

if (!this.detailInfo[i]) {

let ctime = thisLi.children[0].children[0].innerHTML

interestDetailInfo(

{

‘data’: ctime

}

).then((resp) => {

// 将请求到的详情项放入详情数组中

this.detailInfo[i] = resp

// 将请求详情项赋值给当前详情项,以供显示

this.current = resp

if (!this.activity) {

this.rate = 0

} else {

this.rate = this.activity.rate

}

}).catch((err) => {

iakit.alert(‘’, err.message, [

{

text: ‘朕知道了’

}

])

})

} else {

// 如果详情项数组中有对应此项数据,就将数组中的数据赋值给当前详情项,以供显示

this.current = this.detailInfo[i]

}

$details[i].style.display = ‘’

$icons[i].className = ‘eranIcon rotate’

}

} else {

$details[i].style.display = ‘none’

$icons[i].className = ‘eranIcon’

}

}

},

queryInterestList() {

// 判断数据是否正在加载中,以防重复加载

if (this.fetching) {

return

}

this.fetching = true

this.isShowLoading = true

this.loadingTip = ‘正在加载中…’

queryInterestListInfo({

page: this.page,

len: 15

}).then((resp) => {

const data = resp.list

// 成功后不显示提示信息,数据加载完毕

this.isShowLoading = false

this.fetching = false

if (data && data.length > 0) { // 存在数据,用concat连接每次请求的数组项

this.listData = this.listData.concat(data)

} else { // 没有更多数据了

this.hasMore = false

this.isShowLoading = true

this.loadingTip = ‘没有更多数据了’

}

// 请求页标志加1,即当再次请求时请求下一页

this.page += 1

}).catch((err) => {

this.fetching = false

iakit.alert(‘’, err.message, [

{

text: ‘朕知道了’

}

])

})

},

RreachBottom() {

// 如果滚动到页面底部,并且当前选项卡为投资项

if (isReachBottom()) {

// 判断接口还有无数据 ,如果有,就再次请求接口

if (this.hasMore) {

this.queryInterestList()

} else {

// 如果没有数据,就解绑此事件

window.onscroll = null

}

}

}

}

})

基础学习:

前端最基础的就是 HTML , CSS 和 JavaScript 。

网页设计:HTML和CSS基础知识的学习

HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。

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

CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。

动态交互:JavaScript基础的学习

JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。

S样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。

[外链图片转存中…(img-5OdPzcq6-1715671849892)]

动态交互:JavaScript基础的学习

JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。

[外链图片转存中…(img-9e5GTxRd-1715671849893)]

  • 28
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值