前端笔记(使用html\css\jquery造n*n的格子,根据预算购买到最多的商品)
需求:创建一个n*n的格子,n是输入框的数字,点击重渲染可以重新画一个n*n的格子,鼠标移入格子中,对应的格子背景设变成红色,点击对应的格子,背景色变成蓝色,再点一次还原颜色。

要造格子有好几种方式,可以用table、ul和li,或者直接使用完全的div
这里为了方便理解,我使用ul和li。
定义html:
box用于渲染格子
<div class="box"></div>
<div>
<input type="text" value="10" id="num">
<input type="button" onclick="render()" value="重渲染">
</div>
css:
这里我们使用ul加flex,让li平分,list-style-type:none;去除li的默认点,li:hover定义鼠标移入时的样式,定义.blue作为样式渲染
.div{
height: 100%;
}
.box ul{
display: flex;
margin:;
}
.box ul li{
width: 10px;
height: 10px;
border: 1px solid #000;
list-style-type:none;
}
li:hover{
background-color: red;
}
li.blue{
background-color: blue;
}
js:
ul与li的创建使用数组的join转字符串
{
function render(){
let num=$("#num").val()//定几*几格子
let ul=[],li=[]
for(let i=0;i<num;i++){
li.push(`<li></li>`)
}
li=li.join("")//li的dom
for(let i=0;i<num;i++){
ul.push(`<ul>${li}</ul>`)
}
ul=ul.join("")//ul的dom
$(".box").html(ul)
$("li").click(function(){//点击格子
let isBlue=$(this).hasClass("blue")
if(isBlue){
$(this).removeClass("blue")
}else{
$(this).addClass("blue")
}
})
}
render()
}
需求:根据所有的商品单价(元),和你的预算(元),指定一个尽可能买得多的商品的方案

思路是 先将所有商品的价格按从小到大排序起来,设置这个预算值初始为0,从最便宜的开始买,每买一个就加上当前的价格,直到超出预算,那超出前的那次就是最好的购买方式。
html:
<div>
预算:<input type="text" id="ys" value="200"><br>
商品价格:<input type="text" id="jg" value="50 30 40 55 242 21"><br>
<input type="button" value="计算" onclick="js()"><br>
结果:<span id="res"></span>
</div>
js:
使用sort进行数值排序,使用split将字符串拆分成数组,使用join将数组转化为字符串
{
function js(){
let ys=$("#ys").val(),jg=$("#jg").val()
let res=0,km=[]//需要金额 可买
let arr=jg.split(" ")
arr.sort((a,b)=>a-b)
for(let i=0;i<arr.length;i++){
res+=Number(arr[i])
console.log(res)
if(res > Number(ys)){
res-=Number(arr[i])
break
}
km.push(Number(arr[i]))
}
console.log(res,km)
$("#res").text(`需要金额:${res},可买物品:${km.join(" ")}`)
}
}
前端笔记(使用html\css\jquery造n*n的格子,根据预算购买到最多的商品)的更多相关文章
- 前端笔记 (2.CSS)
知识点借鉴于慕课网,菜鸟教程和w3shool CSS方面: CSS全称为“层叠样式表”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小.颜色.字体加粗等. 使用CSS样式的一个好处是通过 ...
- 前端笔记二:CSS盒模型
1.标准模型和IE模型 2.标准模型和IE模型的区别 标准模型的height和width只是content的: IE模型的height和width是包含padding和border的 3.CSS如何设 ...
- 新手前端笔记之--初识css
css样式表是为了容纳与html文档分离出来的样式属性而产生的,所以她理所当然的包含两个部分:1.样式的表示,使用{属性1:属性值:属性2:属性值:...},2.样式与标签的对应(如何找的对应标签), ...
- 前端笔记(关于css盒模型知识整理)
我以前整理的文章可能也不是特别深入.所以现在开始尝试即使多花点时间收集整理,也不只发浅层知识,这样对技术的深入理解是很有帮助的. 废话不多说,我们现在开始. 说到css盒模型,这是大多面试基础中会经常 ...
- 2.前端笔记之css
title: 1.前端笔记之CSS date: 2016-04-05 23:05:51 tags: 前端 categories: w3c --- 作者:刘耀 **出处:http://www.liuya ...
- 使用 CSS & jQuery 制作一款漂亮的多彩时钟
大家可能见过各种各样的时钟效果,比如多年前非常流行的 Flash 制作的各种新奇的动画时钟,现在的 Web 开发者们又开始应用 CSS3 和 Canvas 等最新技术来实现.而今天这里要分享的这款漂亮 ...
- 1.前端笔记之html
title: 1.前端笔记之HTML date: 2016-04-04 23:21:52 tags: Python categories: Python --- 作者:刘耀 **出处:http://w ...
- Java程序猿JavaScript学习笔记(14——扩大jQuery UI)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- 写给后端的前端笔记:浮动(float)布局
写给后端的前端笔记:浮动(float)布局 这篇文章主要面向后端人员,对前端有深刻了解的各位不喜勿喷. 起因 前一阵子我一个后端的伙伴问我,"前端的左飘怎么做?",我立马就懵了,& ...
随机推荐
- deepin15.11安装N卡驱动,实测!!!(可解决N卡电脑关机卡屏)
前言:deepin(深度)是一款由武汉深之度公司研发的一款适合国人日常学习的linux系统,其UI精美,美过Mac.它对于中国用户的一个亮点就是QQ微信等国软件傻瓜式安装(类似安卓应用商店安装),如果 ...
- SpringBoot是如何实现自动配置的?--SpringBoot源码(四)
注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 前言 本篇接 助力SpringBoot自动配置的条件注解ConditionalOnXXX分析--SpringBoot源码(三 ...
- Jenkins构建项目帮助文档
Jenkins构建项目帮助文档 主要步骤 一.配置jdk 1.1. 下载jdk,安装到自己电脑磁盘的Java目录下(比如:D:\Java\jdk). 1.2. Jdk环境变量的配置: 1. 鼠 ...
- 微服务系列之 Consul 注册中心
原文链接:https://mrhelloworld.com/posts/spring/spring-cloud/consul-service-registry/ Netflix Eureka 2.X ...
- Java学习笔记(3)——有关异常
异常处理: try { }catch(ExceptionType0 e) { }catch(ExceptionType1 e) { }.....finally { } 有四种情况不执行finally语 ...
- WSGI标准、MVC和MTC框架
WSGI服务: wsgiref模块其实就是将整个请求信息给封装了起来,就不需要你自己处理了,假如它将所有请求信息封装成了一个叫做request的对象,那么你直接request.path就能获取到用户这 ...
- 3.python正则匹配不到内容时消耗大量内存
遇到问题:正常情况获取的网页源码可以通过正则表达式快速匹配到内容,,但是如果出现问题,没有匹配到的内容,正则就会一直回溯,导致内存激增,一直循坏查找. 解决思路: 一.如果能够有特殊内容可以标记,满 ...
- STL篇--list容器
list容器: 1.list 容器 的本质就是双向环形链表,最后一个节点刻意做成空节点,符合容器的左闭右开的原则2.list 的迭代器 是一个智能指针,其实就是一个类,通过操作符重载模拟各种操作(++ ...
- C# 基础知识系列- 3 集合数组
简单的介绍一下集合,通俗来讲就是用来保管多个数据的方案.比如说我们是一个公司的仓库管理,公司有一堆货物需要管理,有同类的,有不同类的,总而言之就是很多.很乱.我们对照集合的概念对仓库进行管理的话,那么 ...
- Linux篇001——打开vi默认显示行号
$ vi ~/.vimrc 新增一行命令 :set number 保存退出,source ~/.vimrc