- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个动态金字塔。
问题:
有什么办法可以实现吗?
我一直在尝试用以下方法做到这一点
function newOrder() {
var oldOrder = values;
values.sort();
document.getElementByClassName('.values').innerHTML = values;
}
$(document).ready(function() {
//Add Block Functionality
let values = [];
$('#add-block .button').click(function() {
//determin widht of last div
var lastwidth = $('.pyramid li:last-child .item').width();
//calculation of next div
if (lastwidth == null) {
var plus = 90;
} else {
var plus = lastwidth + 190; //not sure why 190 but with this value they line up smoothly. Was expecting 0 and 100 for the values.
}
//create radom number
var number = Math.floor(Math.random() * 9) + 1;
//create radom letter
function randLetter() {
var letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
var letter = letters[Math.floor(Math.random() * letters.length)];
return letter
}
//make letter available globally
var resultLetter = randLetter();
//create radom color
function randColor() {
var colors = ["green", "yellowgreen", "Chocolate", "goldenrod", "cadetblue", "firebrick", "magenta", "LightSeaGreen", "Peru", "Sienna", "SlateBlue", "Snow", "Tan", "Skyblue"];
var color = colors[Math.floor(Math.random() * colors.length)];
return color
}
//make color available gloabally
var resultColor = randColor();
var $block = $('<li><div class="item" style="width:' + plus + 'px; border-bottom: 60px solid ' + resultColor + ' ;"><input class="values" type="text" placeholder=" ' + number + resultLetter + ' " maxlength="2"> </div></li>');
$('.pyramid').append($block);
//save values
values.push(number + resultLetter);
values.sort();
console.log(values);
});
//Remove Block Functionality
$('#remove-block .button').click(function() {
value = $(".values", $('.pyramid li').last()).attr("placeholder").trim()//find last value added in pyramid//.attr()value of attribute placeholder,trim() is just for white space
values.splice(values.indexOf(value), 1)//indexOf() method returns the position of the first occurrence of a specified value in a string. In this case it is the index of value, which is the last item in the array. Could be replaced by -1 I think
console.log(values)
$('.pyramid li').last().remove();
})
});
body, html {
box-sizing: border-box;
font-size: 16px;
font-family: 'Open Sans', sans-serif;
background-color: #101935;
}
*, *:before, *:after {
box-sizing: inherit;
}
ul, li {
list-style: none;
margin: 0;
padding: 0;
}
li div.item {
margin: 0 auto;
position: relative;
height: 0px;
width: 100px;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 60px solid #0488e0;
display: flex;
justify-content: center;
}
li div.item:not(.item0){
border-bottom: 60px solid #0488e0;
border-left: 45px solid transparent;
border-right: 45px solid transparent;
margin-top: 10px;
height: 0;
}
.values {
background: rgba(255, 255, 255, .6);
border: none;
text-align: center;
font-size: 15px;
color: black;
font-weight: bold;
height: 20px;
width: 35px;
border-radius: 2px;
position: absolute;
top: 30px;
}
.values:focus {
background: rgba(255, 255, 255, .95);
box-shadow: 0 2px 2px rgba(0, 0, 0, .15);
outline: none;
}
/*buttons section */
.buttons, #add-block, #remove-block{
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
}
#add-block span, #remove-block span {
background-color: #edf7f6;
padding: 5px 15px ;
font-size: 18px;
border-radius: 2px;
color:#888;
font-weight: 400;
}
#add-block .button, #remove-block .button{
background-color: #0488e0;
padding: 5px;
border-radius: 2px;
width: 40px;
text-align: center;
display: block;
font-size: 20px;
color: #ffffff;
margin: 10px;
transition: background-color 250ms ease-in-out 100ms;
}
#add-block .button:hover, #remove-block .button:hover{
background-color: #059BFF;
cursor: pointer;
}
<body>
<ul class="pyramid">
</ul>
<section class="buttons">
<div id="add-block">
<span>Add Block</span>
<div class="button">+
</div>
</div>
<div id="remove-block">
<span>Remove Block</span>
<div class="button">-
</div>
</div>
</section>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="resources/js/main.js"></script>
</body>
最佳答案
你需要解决的核心问题是有一个排序数组,其中1-数字应该是从高到低的顺序2-如果两个数字相同,则应考虑它们的字母,即从高到低
您可以使用 Array 的内置排序功能并提供自定义比较器来实现此目的
注意:除了连接数字和字母表之外,您还可以创建一个具有两个属性的对象,这将帮助您编写简化的比较器,同时您始终可以在 html 中呈现时连接两个属性
var myStrings=[{num:'1',char:'z'},{num:'9',char:'a'},{num:'1',char:'b'},{num:'9',char:'d'}]
function myCustomComparator(a,b){
if (a.num<b.num) {
return -1;
}
else if (a.num>b.num) {
return 1;
}
// a.num must be equal to b.num
if (a.char<b.char) {
return -1;
}
else if (a.char>b.char) {
return 1;
}
//char must be equal too
return 0;
}
myString.sort(myCustomComparator);
^虽然上面的代码没有经过测试,但是你现在应该知道如何使用自定义比较器来实现你想要的你可以进一步阅读它 here
关于javascript - 数组按照1-9和a-z显示顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50551953/
我在一个C++程序中找到了一段代码,好像每隔for()循环两次。在这个程序中循环,但为什么在这样的预处理器定义中需要第三个 for 呢? #define for for(int z=0;z<2;++z
我正在尝试分割其中有一个小写字母后跟一个大写字母的文本。 假设文本是: “Įvairių rūšiųSkinti kardeliai” 我想在“ųS”处拆分它,但是以下正则表达式“[ą-ž][Ą-Ž]
这个问题在这里已经有了答案: Reference - What does this regex mean? (1 个回答) 关闭 2 年前。 下面的正则表达式有什么区别。对我来说,它们都是一样的 [
我正在尝试用 Java 编写一个正则表达式: "/[A-Z]{6}-[A-Z]{4}-[A-Z]{4}/" 但是它不起作用。例如 "AASAAA-AAAA-AAAA".matches("/[A-Z]{
我需要确定一个字符串是否是一个变量标识符。 即(a-z,A-Z,,$) 后跟 (a-z,A-Z,0-9,,$) 我知道我可以使用手动配置的 reg exp 来完成它,但必须有一个更紧凑的内置函数我可以
早上好,我是新来的,我带来了一个小问题。我无法针对以下问题开发有效的算法:我需要找到三个正数 x、y 和 z 的组合,以便 x + y、x - y、y + z、y - z、x + z 和 x - z
这个问题已经有答案了: How does the ternary operator work? (12 个回答) 已关闭 6 年前。 我发现了一种不同的返回值的方式,并且很兴奋。它到底是什么意思? 如
我需要以下正则表达式,允许 [a-zA-Z]+ 或 [a-zA-Z]+[ \\-]{0,1}[a-zA-Z]+ 所以我想在 a-zA-Z 字符之间允许无限的减号和空格 示例: sdfsdfdsf-sf
我正在编写一个代码,它以“代码”(编码理论)作为输入,并且我已经计算了它的权重枚举器。我想使用 MacWilliams Identity 找到双代码的权重枚举器. 我有W(z) ,代码的权重枚举器,我
我已经编写了一个 child 文字游戏,现在我正在尝试优化性能。游戏以一种特殊的方式从数据库中挑选关键词,我想做得更好。 给定一个按字母数字排序的 MySQL 关键字字段: keyword s
假设一个字符串是abc/xyz/IMPORTANT/DATA/@#!%@!%,我只想要IMPORTANT/DATA/!%#@%!#% 我对正则表达式很烂,而且真的还没学过 JavaScript API
JS代码: ? 1
大家晚上好我想知道有没有更快的方法来生成以下形式的列表? [a,b,c,…,z] → [[z], [y,z], [x,y,z], … , [a,b,…,y,z]] 我知道切片是最好的方法之一,但没有更
我在 Firefox 和其他浏览器上遇到嵌套 z-index 的问题,我有一个 div,z-index 为 30000,位于 label 下方> zindex 为 9000。我认为这是由 z-inde
我正在尝试制作一个灯泡。这是代码 JSfiddle HTML 查询 $('.button').click(function() { $('#add').show();
在您想将嵌套模块导入命名空间的情况下,我总是这样写: from concurrent import futures 不过,我最近意识到这也可以使用“as”语法来表达。请参阅以下内容: import c
我正在尝试创建一个基本上复制 matlab 命令的函数:[z;-z] 其中 z = randn(m,n) 返回一个 m -by-n 随机条目矩阵。我能够在 C++ 中为下面的 randn 函数创建一个
好吧,我迷失在这些指针中,有人能准确地告诉我 char * x,y,z; 和 char* x,y,z 之间的区别是什么; 和 char (*)x,y,z; ?如果可以,请为您的答案或其他内容提供资源。
这是一道函数依赖题。 我知道当 x->yz 然后 x->y 和 x->z 时。但是上面的依赖关系可能吗? 最佳答案 If xy determines z can x determine z and y
我有一个列表列表 nLedgers - 一个 3D 点云: [nodeID, X, Y, Z] 多行。一些节点将具有相同的 X 和 Y 坐标以及不同的 Z 坐标。 我想首先确定具有相同 X 和 Y 坐
我是一名优秀的程序员,十分优秀!