云点餐项目

JS

//底部跳转功能

function jump(){

$(‘#foot’).on(‘click’,‘.icon-dingdan’,function(){

location.href=‘index.html’

}).on(‘click’,‘.icon-gouwuche’,function(){

location.href=‘gouwuche.html’

}).on(‘click’,‘.icon-yonghu’,function(){

location.href=“user.html”

})

}

//渲染商品信息

function getlist(){

let product=localStorage.getItem(‘shopList’)

let productArr=JSON.parse(product)||[]

let tableHead=` 商品名 图片 价格 数量 总价 删除

`

let tableStr=productArr.map(item=>{

return ` ${item[0].product}

${item[0].id} ${item[0].id} 删除

`

}).join(‘’)

$(‘table’).html(tableHead+tableStr)

}

//删除功能

$(‘table’).on(‘click’,‘.del’,function(){

//拿到id根据id删除

let id=$(this).attr(‘data-index’)

let data=JSON.parse(localStorage.getItem(‘shopList’))

let productIndex=data.findIndex(item=>item.id==id)

data.splice(productIndex,1)

localStorage.setItem(‘shopList’,JSON.stringify(data))

getlist()

})

//增加和减少

$(‘table’).on(‘click’,‘input[name=“sub”]’,function(){

if($(this).next().val()>1){

(

t

h

i

s

)

.

n

e

x

t

(

)

.

v

a

l

(

(this).next().val(

(this).next().val((this).next().val()-1)

let priceAll=

(

t

h

i

s

)

.

n

e

x

t

(

)

.

v

a

l

(

)

(this).next().val()*

(this).next().val()∗(this).parent().prev().html()

$(this).parent().next().html(priceAll.toFixed(2))

}

total()

}).on(‘click’,‘input[name=“add”]’,function(){

(

t

h

i

s

)

.

p

r

e

v

(

)

.

v

a

l

(

p

a

r

s

e

I

n

t

(

(this).prev().val(parseInt(

(this).prev().val(parseInt((this).prev().val())+1)

let priceAll=

(

t

h

i

s

)

.

p

r

e

v

(

)

.

v

a

l

(

)

(this).prev().val()*

(this).prev().val()∗(this).parent().prev().html()

$(this).parent().next().html(priceAll.toFixed(2))

total()

})

//计算总价

function total(){

let sum=0

$(‘.singleTotal’).each((index,item)=>{

sum=sum+Number($(item).html())

})

$(‘.total’).html(‘¥’+sum)

}

total()

getlist()

jump()

CSS

#main {

width: 100%;

flex: 1;

overflow: auto;

background-color: aquamarine;

}

#main table {

width: 100%;

height: 100%;

}

#main table tr td img {

width: 80px;

height: 80px;

}

#main table tr .fun {

width: 100px;

}

#main table tr .fun input {

vertical-align: top;

width: 20px;

height: 20px;

}

#main .total {

margin-left: 30px;

font-size: 30px;

color: red;

}

/*# sourceMappingURL=gouwuche.css.map */

用户界面代码

HTML

Document

云点餐项目

登录

注册

JS

//底部跳转功能

function jump(){

$(‘#foot’).on(‘click’,‘.icon-dingdan’,function(){

location.href=‘index.html’

}).on(‘click’,‘.icon-gouwuche’,function(){

location.href=‘gouwuche.html’

}).on(‘click’,‘.icon-yonghu’,function(){

location.href=“user.html”

})

}

//渲染注册输入框

$(‘.login’).on(‘click’,function(){

let str=`

`

$(‘.input’).html(str)

login()

})

//渲染登录输入框

$(‘.sigin’).on(‘click’,function(){

let str=`

`

$(‘.input’).html(str)

sigin()

})

//注册功能

function login(){

$(‘.loginInput’).on(‘submit’,function(e){

e.preventDefault()

$.ajax({

url:‘http://127.0.0.1:4000/api/login’,

method:‘get’,

data:{

username:$(‘.loginInput input[name=“name”]’).val(),

password:$(‘.loginInput input[name=“password”]’).val(),

},

success:function(data){

if(data.status==0){

alert(‘注册成功’)

}

}

})

})

}

//登录功能

function sigin(){

$(‘.siginInput’).on(‘submit’,function(e){

e.preventDefault()

console.log($(‘input[name=“name”]’).val());

$.ajax({

url:‘http://127.0.0.1:4000/api/sigin’,

method:‘get’,

data:{

username:$(‘input[name=“name”]’).val(),

password:$(‘input[name=“password”]’).val(),

},

success:function(data){

console.log(data);

if(data.status==0){

//登录成功渲染欢迎界面

alert(‘登录成功’)

let str=`

欢迎${data.data[0].username}

退出

`

$(‘#main’).html(str)

//退出功能

siginout()

}

}

})

})

}

//欢迎界面和退出

function siginout(){

$(‘.siginout’).on(‘click’,function(){

let str=`

登录

注册

`

$(‘#main’).html(str)

})

}

jump()

商品详细代码

HTML

Document

JS

function getShop(){

//分割字符串拿到url中的id

let url=location.href

let idArr=url.substring((url.indexOf(‘?’)+1))

let id=idArr.split(‘=’)[1]

console.log(id);

$.ajax({

url:‘http://127.0.0.1:4000/api//list/id’,

method:‘get’,

data:{

id:id

},

success:function(data){

if(data.status==0){

let list=data.data

let productStr=list.map(item=>{

return `

${item.product}

¥${item.id}

立即购买

`

}).join(‘’)

$(‘.render’).html(productStr)

}

}

})

}

//回到主界面

$(‘.back’).on(‘click’,function(){

location.href=‘index.html’

})

getShop()

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)

Vue

什么是MVVM? mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合? 组件之间的传值? Vue 双向绑定原理 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程? 虚拟 DOM 实现原理 Vue 中 key 值的作用? Vue 的生命周期 Vue 组件间通信有哪些方式? vue 中怎么重置 data? 组件中写 name 选项有什么作用? Vue 的 nextTick 的原理是什么? Vuex 有哪几种属性? CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

什么是MVVM? mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合? 组件之间的传值? Vue 双向绑定原理 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程? 虚拟 DOM 实现原理 Vue 中 key 值的作用? Vue 的生命周期 Vue 组件间通信有哪些方式? vue 中怎么重置 data? 组件中写 name 选项有什么作用? Vue 的 nextTick 的原理是什么? Vuex 有哪几种属性? CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。