有没有办法通过CSS检测输入中是否有文本?我已经尝试过使用:empty
伪类,我尝试过使用[value=""]
,但两者都没有用.我似乎无法找到一个解决方案.
我想这一定是可能的,考虑到我们有伪类:checked
,并且:indeterminate
两者都是类似的东西.
请注意:我这样做的是"时尚"风格,无法使用JavaScript.
另请注意,在用户无法控制的页面上使用Stylish,客户端.
我需要在可滚动区域内检索div的可见高度.我认为自己与jQuery相当不错,但这完全让我失望.
假设我在黑色包装中有一个红色div:
在上图中,jQuery函数将返回248,即div的可见部分.
一旦用户滚过div的顶部,如上图所示,它将报告296.
现在,一旦用户滚过div,它将再次报告248.
显然,我的数字不会像在这个演示中那样一致和清晰,或者我只是对这些数字进行硬编码.
我有一点理论:
看起来很简单,但我无法绕过它.明天早上我会再接受一次破解; 我只想你们中的一些天才可能会有所帮助.
谢谢!
更新:我自己想出来,但看起来下面的答案之一更优雅,所以我将使用它.对于好奇,这是我想出的:
$(document).ready(function() {
var windowHeight = $(window).height();
var overviewHeight = $("#overview").height();
var overviewStaticTop = $("#overview").offset().top;
var overviewScrollTop = overviewStaticTop - $(window).scrollTop();
var overviewStaticBottom = overviewStaticTop + $("#overview").height();
var overviewScrollBottom = windowHeight - (overviewStaticBottom - $(window).scrollTop());
var visibleArea;
if ((overviewHeight + overviewScrollTop) < windowHeight) {
// alert("bottom is showing!");
visibleArea = windowHeight - overviewScrollBottom;
// alert(visibleArea);
} else {
if (overviewScrollTop < 0) { …
Run Code Online (Sandbox Code Playgroud) 我有一个关于CSS边界的快速问题.
我需要创建一个纯色插图边框.这是我正在使用的CSS:
border: 10px inset rgba(51,153,0,0.65);
不幸的是,它会创建一个3D脊状边框(忽略正方形和黑暗描述框):
http://dl.dropbox.com/u/12147973/border-current.jpg
这是目标:
http://dl.dropbox.com/u/12147973/border-boal.jpg
有任何想法吗?
有没有办法在不使用iframe的情况下嵌入外部网页?我可以访问这两个站点,我只希望嵌入内容的页面根据嵌入的内容调整大小(它会随着时间的推移而改变,并且可以在多个站点上).
谢谢!
编辑:我认为任何类型的AJAX都不会起作用,因为它是跨站点的,并且JavaScript不允许你加载异地内容(据我所知).
在IE10中,此代码无法正常工作:
.flexbox form {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
-webkit-flex-direction: row;
-moz-flex-direction: row;
-ms-flex-direction: row;
-o-flex-direction: row;
flex-direction: row;
}
.flexbox form input[type=submit] {
width: 31px;
}
.flexbox form input[type=text] {
width: auto;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
-webkit-flex: auto 1;
-moz-flex: auto 1;
-ms-flex: auto 1;
-o-flex: auto 1;
flex: auto 1;
}
Run Code Online (Sandbox Code Playgroud)
应该发生的是,input[type=submit]
应该是31px宽,input[type=text]
占用其余的可用空间form
.input[type=text]
由于某种原因,发生的事情是默认为263px.
这在Chrome和Firefox中运行良好.
如何在JavaScript中创建无限循环?我正在尝试制作幻灯片,我已经开始工作了,但我无法让它循环播放.我甚至无法让它循环两次.
我现在使用的代码是
window.onload = function start() {
slide();
}
function slide() {
var num = 0;
for (num=0;num<=10;num++) {
setTimeout("document.getElementById('container').style.marginLeft='-600px'",3000);
setTimeout("document.getElementById('container').style.marginLeft='-1200px'",6000);
setTimeout("document.getElementById('container').style.marginLeft='-1800px'",9000);
setTimeout("document.getElementById('container').style.marginLeft='0px'",12000);
}
}
Run Code Online (Sandbox Code Playgroud)
没有那里的东西,它确实经历了一次.当我输入一个for时,它要么让Firefox锁定,要么只循环一次.我确信这是一件非常简单的事情,即使它必须循环1,000,000次而不是无限次,这对我来说还算合适.
另外,我不想使用jQuery或其他人创建的东西.我正在学习JavaScript,这部分是为了帮助我学习,部分是因为我正在努力制作尽可能多的基于HTML5的系统.
编辑:我认为它冻结的原因是因为它一次执行代码,然后只是将它存储在缓存或其他东西.我想要它做的就是经历一次,然后再次从顶部开始,这是我一直认为循环的地方.在"批处理"(命令提示符)脚本中,可以使用" GOTO
"命令完成.我不知道JS中是否有相同的东西,但这确实是我的目标.
我需要在允许函数再次重复之前检测CSS转换是否已完成,以防止搞乱边距.
那么我有多喜欢的东西
if (transitionend == true) {
// do stuff
} else {
// do nothing
}
Run Code Online (Sandbox Code Playgroud) 在我的 CI 设置中,我有一个针对所有 JS 文件运行 eslint 的测试。如果不存在 JS 文件,则当前正在抛出错误。我更喜欢它是否在不存在 JS 文件时成功。这可能吗?
$ eslint "./src/assets/scripts/**/*.js"
Oops! Something went wrong! :(
ESLint: 5.7.0.
No files matching the pattern "./src/assets/scripts/**/*.js" were found.
Please check for typing mistakes in the pattern.
ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud) 这是其他人之前提出的问题,但我从未见过足够的答案.是否有<center>
标签的有效替代品?
我知道有margin: 0 auto;
,但这需要设置宽度.还有align="center"
,但我相信这也是无效的代码.
有没有那么简单的东西<center>
有效?在极少数情况下我仍然最终使用它,即使它已被弃用.就在今天,我最终使用了一个<center>
中心需要在网页上居中的一个按钮.是的,我可以设置宽度并给它margin: 0 auto
,但是这对于单个元素的居中来说是很多工作,它会弄脏我的代码,我为自己保持有序而感到自豪.我真的不明白为什么一开始<center>
就被弃用,如果什么也没有取而代之的话.
谢谢!