在页面上生成 200 行50 列共 10000 个按钮,点击按后弹出消息框,显示被点击按钮在“某行某列2要求使用原生JS,优先考虑运行性能。
时间: 2024-05-22 17:14:14 浏览: 13
可以使用原生JS来创建这些按钮,使用循环创建200行50列的按钮,并为每个按钮添加点击事件处理程序。在点击事件处理程序中,使用JavaScript来动态地获取被点击的按钮的位置(行和列),并将其显示在消息框中。为了提高性能,可以采用事件委托的方式,在外层容器上添加一个点击事件处理程序,用来监听所有按钮的点击事件,避免给每个按钮都添加一个事件处理程序。
相关问题
请对javascript编程题作答: 在页面上生成200行50列共10000个按钮,点击按钮后弹出消息框,显示被点击按钮在"某行某列",要求使用原生JS,优先考虑运行性能。
以下是使用原生JS生成10000个按钮并实现点击后弹出消息框的代码:
```javascript
const container = document.createElement('div');
container.style.display = 'flex';
container.style.flexWrap = 'wrap';
container.style.width = '100%';
container.style.height = '100%';
document.body.appendChild(container);
for (let i = 0; i < 200; i++) {
for (let j = 0; j < 50; j++) {
const button = document.createElement('button');
button.innerHTML = `Button ${i * 50 + j + 1}`;
button.style.width = 'calc(100% / 50)';
button.style.height = 'calc(100% / 200)';
button.style.border = 'none';
button.style.outline = 'none';
button.style.backgroundColor = '#eee';
button.style.cursor = 'pointer';
button.onclick = () => {
alert(`Button ${i * 50 + j + 1} in row ${i + 1}, column ${j + 1}`);
};
container.appendChild(button);
}
}
```
首先,我们创建一个div元素作为容器,并设置其样式为flex布局。然后,使用两个循环生成200行50列共10000个按钮,并设置每个按钮的样式和点击事件。注意,我们需要在点击事件中使用let定义i和j,以保证能够正确获取被点击按钮所在的行和列。最后,将生成的按钮添加到容器中即可。
uview点击按钮弹出model模态框,并且在模态框中显示这个页面所选择的内容
要实现这个功能,你可以按照以下步骤进行:
1. 在页面中添加一个 uview 的按钮组件,并设置点击事件。
2. 在点击事件的处理函数中,调用 uview 的模态框组件,并设置相应的属性,如标题、内容等。同时,将页面所选择的内容传递给模态框组件。
3. 在模态框组件中,接收传递过来的内容,并将其显示出来。
下面是一个简单的示例代码:
```
<template>
<view>
<u-button @click="showModal">点击弹出模态框</u-button>
</view>
</template>
<script>
import {uniModal} from 'uview-ui';
export default {
data() {
return {
selectedContent: '', // 存储所选择的内容
};
},
methods: {
showModal() {
uniModal({
title: '模态框标题',
content: this.selectedContent,
});
},
},
};
</script>
```
在上面的示例中,我们通过 `uniModal` 函数来创建一个模态框。在模态框的 `content` 属性中,我们将页面中所选择的内容传递进去。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)