[英]Button not responding.. JavaScript not expanding
我是编程新手,遇到了一些困难。 我不明白为什么,但是当调整屏幕尺寸时,我的按钮文本没有正确调整大小。 总体 div 容器也没有调整大小以正确容纳按钮......并且按钮需要点击两次来展开文本,但现在它根本没有展开,我不确定我改变了什么。
我是初学者,这是我第一次将 javascript 实现到 html/css 中,所以请记住复杂的答案,我可能无法立即理解。
带有完整代码的 codepen 链接在这里:
https://codepen.io/rachel-campbell/pen/xvLxLK
#collapseMe {
display:inline-block;
width: 100%;
padding: 2rem;
font-size: 2vw;
font-weight: bolder;
box-shadow: 0 0.3em 0.3em #ccc;
transition-duration: 0.2s;
float:center;
}
button:hover {
background-color: red;
}
我只想指出您犯了什么错误,以帮助您了解代码出了什么问题。
在您的 codepen 中,有一些 javascript 文件被引用到不存在的文件中。
<link rel="stylesheet" type="text/css" href="newmarket.css" />
<script type="text/javascript" src="newmarket.js"></script>
您需要记住,您放置在代码操场(例如 codepen、jsfiddle 等)中的文件需要托管在某个地方。 缺少的 javascript 文件将使您的 javascript 的其余部分失败。
2、经常检查开发者的控制台。 使用 f12 启动它,您将看到将出现的所有错误。 只需使用开发人员控制台。 我发现了一些导致您的脚本和按钮无法工作的问题。
当您使用 jQuery 并编写选择器时,请确保非变量或字符串用双引号或单引号括起来(但 jQuery 鼓励对字符串使用双引号)。
你的$(body)
导致错误,因为 body 没有被声明为变量,所以它应该是一个字符串。 它应该是$("body")
。 https://www.w3schools.com/jquery/jquery_syntax.asp
另外,你已经写了y.style.margin-bottom="3rem";
什么时候应该是y.style.marginBottom="3rem";
所以https://www.w3schools.com/jsref/prop_style_marginbottom.asp
至于按钮文本大小未正确调整大小,您应该查看 Devin 关于 css 的回答。
您正在使用hidden=true
属性隐藏 div,但是在您的脚本中它会检查它是否具有style="display:none;"
这是两件不同的事情。 因此,只需在<div id="collapsable" hidden=true>
添加style="display:none
<div id="collapsable" hidden=true>
并删除hidden=true
使其变为:
<div id="collapsable" style="display:none;">
您应该在这里看到所有修复: https : //codepen.io/anon/pen/VozLPg
你的#collapseMe id 为font-size: 2vw;
这为您提供一致的平滑调整大小。 但是,由于按钮位于带有边距的卡片内,因此在较小的屏幕宽度下这没有意义。 所以使用vw
单位作为你的字体大小在这里真的不是一个好的选择,如果文本在一个总是全宽的容器中会更好。
另外,bootstrap .btn 类有white-space: nowrap;
这是防止文本换行。
我建议使用静态字体大小 - 也许 1.4 左右? 以及像这样覆盖white-space
属性:
#collapseMe.btn {
white-space: unset;
}
作为旁注,由于听起来您处于学习的开始阶段,我建议避免使用 jquery 和 bootstrap,转而使用现代 css(带有 flex 和 grid)和 vanilla javascript。 这将帮助您更好地学习基础知识并帮助您成为更好的开发人员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.