我编写了一个函数,从网站上的name字段获取值,并使用它自动填充电子邮件字段。此外,我还添加了一个快速的黄色闪光灯,以向用户显示该字段已被自动更新。
在这个间隔的例子中,一切都很好。
$(function() {
$("#name").on("change", function(){
let name = $(this).val();
let spIndex = name.indexOf(" ");
let email = name.substr(0, spIndex) + name.substr(spIndex+1, 1) + "@example.com";
$("#email").val(email.toLowerCase());
$("#email").css({
"transition": "background-color 0.5s",
"background-color": "#f9ff60"
});
setTimeout(function(){$("#email").css({"background-color":"#fff"});}, 400);
});
});当我试图链接函数时,我才注意到这个问题(是的,我知道第一种方法更有意义,我只是想尝试一下)。由于某种原因,.css()函数什么也不做。
$(function() {
$("#name").on("change", function() {
$("#email").val(($(this).val().substr(0, $(this).val().indexOf(" ")) +
$(this).val().substr($(this).val().indexOf(" ")+1, 1) + "@example.com").toLowerCase())
.css({
"transition": "background-color: 500",
"background-color": "#f9ff60"
})
.delay(400)
.css({
"background-color": "#fff"
});
});
});此外,我还试图在链的末尾添加另一个.val()函数,以检查它是否一直运行,它确实起作用了,但是css没有改变。
因为我知道我可以第一次使用它,所以我并不要求使用它,而是为了将来的注意,如果我将来使用.css()函数的话。
发布于 2017-07-27 20:20:40
http://api.jquery.com/delay/
对于使用jquery内部动画队列的jquery函数,使用延迟。它并不是对所有事物的超时的替代。考虑到您的情况,我相信由于css()没有使用动画队列,所以它只是简单地应用css语句,以至于您看不到任何效果。
发布于 2017-07-27 20:07:58
根据JQuery效果API,您可以找到一个突出显示特定元素的这里选项。
通过将JQuery UI链接到主JQuery脚本标记下面:
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>你可以这样做:
$(this).val().substr($(this).val().indexOf(" ")+1, 1) + "@example.com").toLowerCase()).toggle("highlight");https://stackoverflow.com/questions/45360041
复制相似问题