- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
亲爱的程序员们,我正在做一个帮助学生学习英语的网站元素。该网站应该给学生随机的单词,然后学生必须正确地对这些单词进行排序才能造句或提问。我被困在元素移动中,当学生点击它们时,按钮必须彼此相邻移动,我已经让按钮移动但它没有按我想要的那样工作。最后感谢您的耐心等待这是我的代码注意:我不是以英语为母语的人,如果我的语言有误,请见谅。
var question=["Does","he","play","chess","?"];
var randquestion=shuffle(question);
document.getElementById("message").innerHTML=question.length;
var temp="";
for(var i=0;i<question.length;i++)
{
temp+="<button name=btn class='button button1' id='animate' type=button onclick='myFunction'>"+randquestion[i]+"</button>";
}
document.getElementById("message").innerHTML=temp;
for(var i=0;i<question.length;i++)
{
document.getElementsByName("btn")[i].onclick=myFunction;
}
function myFunction()
{
myMoveDown(this);
}
var id = null;
function myMoveDown(elm) {
var elem = elm;
var pos = 0;
var pos2=0;
clearInterval(id);
id = setInterval(frame, 3);
function frame() {
if (pos == 250) {
clearInterval(id);
} else {
pos+=10; pos2-=10;
elem.style.top= pos + "px";
elem.style.left = pos2 + "px";
}
}
}
function getRndInteger(min, max) {
//This JavaScript function always returns
//a random number between min and max (both included)
return Math.floor(Math.random() * (max - min + 1) ) + min;
}
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
body {
background-color: #1E0555;
text-align: center;
}
.button {
border: 4px;
border-radius: 5px;
border-color: black;
color:black;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
font-weight: bold;
margin: 1px 4px;
cursor: pointer;
}
.button1 {background-color: #b1f01f;} /* Green */
.divStyle{
margin: 100px 4px;
text-align:left;
}
#animate {
border: 4px;
border-radius: 5px;
border-color: black;
color:black;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
font-weight: bold;
margin: 1px 4px;
cursor: pointer;
position:relative;
background-color: #b1f01f;;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Learn English" />
<title>Document</title>
<link rel="stylesheet" href="CSS/myStyle.css" />
</head>
<body>
<div id="message"></div>
<div class="divStyle" id="message2"></div>
<script src="index.js"></script>
</body>
</html>
最佳答案
它可能没有你想要的那么花哨,但我想使用 order
和 flex
来处理 myMoveDown
中发生的排序问题> 实现。我的是一个简单的方法,它从每个疑问词 的actualWordIndex
中提取线索,并应用与 CSS 相同的方法。
我仍然会说寻找更好的答案。这只是众多方法中的一种(虽然不是可访问性友好的)。如果成功,我可能会添加一些其他实现(可能在其他实现中,您仍将使用实际索引,但也会为 left
乘以或添加位置偏移。)。
var question=["Does","he","play","chess","?"];
var randquestion=shuffle([...question]);
document.getElementById("message").innerHTML=question.length;
var temp="";
for(var i=0;i<question.length;i++)
{
temp+="<button name=btn class='button button1' type=button onclick='myFunction()'>"+randquestion[i]+"</button>";
}
document.getElementById("message").innerHTML=temp;
for(var i=0;i<question.length;i++)
{
document.getElementsByName("btn")[i].onclick=myFunction;
}
let words = document.querySelectorAll("#message > button");
function myFunction()
{
myMoveDown(this);
}
var id = null;
function myMoveDown(elm) {
let actualWordIndex = question.indexOf(elm.innerText);
elm.style.top=`${window.innerHeight - 100}px`;
elm.style.order = `${actualWordIndex+1}`
}
function getRndInteger(min, max) {
//This JavaScript function always returns
//a random number between min and max (both included)
return Math.floor(Math.random() * (max - min + 1) ) + min;
}
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
body {
background-color: #1E0555;
text-align: center;
}
#message{
display:flex;
}
.button {
border: 4px;
border-radius: 5px;
border-color: black;
color:black;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
position:relative;
font-weight: bold;
margin: 1px 4px;
cursor: pointer;
transition:order 0.2s;
}
.button1 {background-color: #b1f01f;} /* Green */
.divStyle{
margin: 100px 4px;
text-align:left;
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Learn English" />
<title>Document</title>
<link rel="stylesheet" href="CSS/myStyle.css" />
</head>
<body>
<div id="message"></div>
<div class="divStyle" id="message2"></div>
<script src="index.js"></script>
</body>
</html>
我们在 messages
上使用 position:relative
和在每个 button
上使用 position:absolute
的组合的另一种方法.我们根据原始索引在此处操作 button
的 left
位置。我已经克隆了原始节点以跟踪打乱的左侧位置以设置为我们可见节点中的正确索引。一个限制是为每个按钮提供相同的宽度,以便在它们按正确的顺序放置时获得正确的 left
位置。
var question=["Does","he","play","chess","?"];
var randquestion=shuffle([...question]);
document.getElementById("message").innerHTML=question.length;
var temp="";
for(var i=0;i<question.length;i++)
{
temp+="<button name=btn class='button button1' type=button onclick='myFunction()'>"+randquestion[i]+"</button>";
}
document.getElementById("message").innerHTML=temp;
let sumLeft = 0;
for(var i=0;i<question.length;i++)
{
const btn = document.getElementsByName("btn")[i];
btn.onclick=myFunction;
btn.style.left=`${sumLeft}px`;
sumLeft += parseInt(btn.offsetWidth);
}
let message = document.querySelector("#message");
let clonedMessage = message.cloneNode(true);
let words = document.querySelectorAll("#message > button");
let clonedWords = clonedMessage.children;
function myFunction()
{
myMoveDown(this);
}
var id = null;
function myMoveDown(elm) {
let actualWordIndex = question.indexOf(elm.innerText);
const orderedLeft = clonedWords[actualWordIndex].style.left;
const orderedTop = clonedWords[actualWordIndex].style.top;
elm.style.left = orderedLeft;
elm.style.top = `${orderedTop+window.innerHeight-80}px`;
}
function getRndInteger(min, max) {
//This JavaScript function always returns
//a random number between min and max (both included)
return Math.floor(Math.random() * (max - min + 1) ) + min;
}
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
body {
background-color: #1E0555;
text-align: center;
}
#message{
position:relative;
}
.button {
border: 4px;
border-radius: 5px;
border-color: black;
color:black;
padding: 15px;
text-align: center;
width:100px;
text-decoration: none;
display: inline-block;
font-size: 16px;
position:absolute;
font-weight: bold;
margin: 1px 4px;
cursor: pointer;
transition:all ease-in 0.2s;
left:0;
}
.button1 {background-color: #b1f01f;} /* Green */
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Learn English" />
<title>Document</title>
<link rel="stylesheet" href="CSS/myStyle.css" />
</head>
<body>
<div id="message"></div>
<div class="divStyle" id="message2"></div>
<script src="index.js"></script>
</body>
</html>
我敢打赌还有另一种方法,而不是 top
和 left
定位,而是使用 transform...translate
组合。
关于JavaScript CSS 移动元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66664078/
我有一个名为 main.css 的 css 文件和另一个名为 style.css 的文件。我怎样才能在 main.css 中做到这一点? .someClass { //apply rules to
在更新我的 css 之前,我在 Login.css 中有以下内容: body { background-image: url('./pictures/fond.png'); bac
我的 share point 2013 核心 css 和我的 css 之间存在 css 冲突。所以我想把我所有的类都放在 div #s4-workspace 下但是我搜索了一种方法来将所有类分组到这个
我知道您可以覆盖 jsp 页面从 jsp 包含 CSS 文件(即全局 CSS 文件)继承的 CSS 属性。 但是,如果元素中的某个属性弄乱了特定页面,而我不想只使用内联 CSS 在该页面中使用它怎么办
我刚刚发现了 initial-scale 元属性。 以前,我一直在使用 default.css 来定义我所有的样式和大小(用于字体和元素),以便它们在桌面计算机的屏幕上显示得很好。然后,如果您使用的是
我正在尝试使用 LESS CSS 来编写我的 CSS。我已经按顺序导入了 style.less 和 less.js 文件。 现在我想提取 LESS 生成的 CSS。有什么办法可以做到吗?我不想使用脚本
我想知道是否有任何一种软件可以读取大量内联样式中的 HTML 文档并将所有这些样式转换为外部 css 文件。如果只有一页,我可以手动完成。但是有100页。有人有想法吗? 最佳答案 就像有人说的那样,“
当我想从 Styled Components 迁移到 CSS Modules 时,出现了以下问题。 假设我有以下样式组件,它接受动态参数 offset和一个动态 CSS 字符串 theme : con
有没有办法将 CSS 类定义为与另一个类相等?例如,如果我有一个类: .myClass{ background-color: blue; } 有没有一种方法可以将第二个类定义为与 myClas
我正在尝试制作一组按钮,这些按钮贴在页面底部并且由固定的空间隔开。我正在使用 angularJS 的 ng-repeat 指令通过 ajax 请求获取数据,然后我用它来显示按钮。 我的问题在于让按
浏览器是否在加载 CSS 文件时解析 CSS?还是在整个 CSS 文件被浏览器下载后才进行解析?不同浏览器的做法有区别吗?我在哪里可以找到这种底层信息? 这个问题不是 Load and executi
这个问题在这里已经有了答案: Can a CSS class inherit one or more other classes? (29 个答案) 关闭 3 年前。 标题有点乱,我给大家看一下。假
我遇到了最奇怪的问题...... 在最简单的形式中,我有一个包含以下内容的 index.html 文件: (在尝试确定根本原因的过程中,我已经大大减少了它) 当我查看页面的源代码时,我得到以下信息:
我正在使用 Mindscape Workbench 来最小化我的 scss 文件。我的页面设置为使用 *.min.css 文件。在随机时间,min 文件不会与系统的其余部分一起发布。 我有很多 css
请告诉我 CSS 框架和 CSS 网格之间的区别。 最佳答案 CSS 框架也可以是 CSS 网格框架。 CSS 网格框架用于构建 CSS 布局。有一些框架除了构建布局还有其他用途,例如 Hartija
我有无法从页面中删除或更改的 original.css 文件。原始.css table { border-collapse: collapse; border-spacing: 0;
我以前使用 bootstrap css import 很好。 但是我正在尝试使用 CSS 模块,所以我添加了几行。 { test: /\.css$/, use:
有没有办法在 css 选择器中创建一个 css 组。 例如: .SectionHeader { include: .foo; include: .bar; include: .
今天我学习了 CSS 中的两个概念,一个是 CSS 定位(静态、相对、绝对、固定),另一个是 CSS Margin,它定义了元素之间的空间。 假设我想移动一个元素,这是最好的方法吗?因为这两个概念似乎
var paths = { css: './public/apps/user/**/*.css' } var dest = { css: './public/apps/user/css/' } /
我是一名优秀的程序员,十分优秀!