Javascript 一旦检测到搜索框中的输入,将显示一个字体图标
我正在尝试在检测到输入后显示一个字体可怕图标,字体可怕搜索图标必须在用户开始键入内容之前不可见,但该图标会一直闪烁,并且由于某种原因,会与输入框一起跳跃。它必须仅在用户输入后显示 这是代码笔:Javascript 一旦检测到搜索框中的输入,将显示一个字体图标,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试在检测到输入后显示一个字体可怕图标,字体可怕搜索图标必须在用户开始键入内容之前不可见,但该图标会一直闪烁,并且由于某种原因,会与输入框一起跳跃。它必须仅在用户输入后显示 这是代码笔: $(文档).ready(函数(){ var cursorBlink=setInterval(函数blink(){ $(“.searchRequest”).toggleClass(“隐藏”); }, 500); $(“.searchRequest”)。在(“单击”,函数(){ clearInterval(
$(文档).ready(函数(){
var cursorBlink=setInterval(函数blink(){
$(“.searchRequest”).toggleClass(“隐藏”);
}, 500);
$(“.searchRequest”)。在(“单击”,函数(){
clearInterval(游标链接);
})
var图标=”;
如果($(“.searchRequest”).length>0){
console.log(“不再为空”);
$(“.searchIcon”).append(图标);
}
});代码>
正文{
背景:#7b4397;
/*旧浏览器的回退*/
背景:-webkit线性梯度(向左,#7b4397,#dc2430);
/*Chrome 10-25,Safari 5.1-6*/
背景:线性梯度(向左,#7b4397,#dc2430);
/*W3C、IE 10+/Edge、Firefox 16+、Chrome 26+、Opera 12+、Safari 7+*/
}
.标题文字{
边缘顶部:100px;
左边缘:25%;
右边距:25%;
颜色:白色;
字体系列:“Helvetica Neue”,Helvetica,Arial,无衬线;
字体大小:60px;
字体重量:较轻;
}
.searchRequest{
边缘顶部:5px;
左边缘:25%;
右边距:25%;
边界:0;
大纲:无;
盒影:无;
背景色:继承;
字体系列:“Helvetica Neue”,Helvetica,Arial,无衬线;
字体大小:40px;
颜色:白色;
字体重量:较轻;
不透明度:0.5;
盒宽:50px;
盒子高度:5px:
}
.fa搜索{
颜色:白色;
字体重量:较轻;
边缘顶部:2倍;
左缘:40%;
保证金权利:25%
}
.隐藏{
可见性:隐藏;
}
.我{
颜色:白色;
浮动:对;
}
维基百科
查看器
将您的JavaScript更新为:
$(document).ready(function() {
var icon = "<i class='fa fa-search fa-2x'></i>";
$('#cursor').on('keydown', function(){
var searchIcon = $('.searchIcon');
if (searchIcon.html().indexOf('fa-search') === -1) { // Prevents inserting multiple icons
searchIcon.append(icon);
}
})
});
$(文档).ready(函数(){
var图标=”;
$('#cursor')。on('keydown',function(){
var searchIcon=$('.searchIcon');
如果(searchIcon.html().indexOf('fa-search')==-1){//防止插入多个图标
searchIcon.append(图标);
}
})
});
更新了闪烁效果和钢笔示例:
闪烁效果来自嗯,你的代码每500毫秒隐藏和取消隐藏一次你的输入框,因此很难点击它。你的HTML也是无效的:应该没有
,因为它是一个空标签。谢谢你,迈克,我已经修改了HTML。通过隐藏和取消隐藏输入框,我试图实现下划线的闪烁效果。嗯,确实如此,但它也会使你的页面跳转,所以选择你的毒药。另外,$(“.searchRequest”).length>0
将始终为true
,因为这只是检查元素是否存在。我想您需要$(“.searchRequest”).val().length>0
…非常感谢。使用$(“.searchRequest”).val().length>0,在我开始键入后,图标不会出现…对,因为您只在页面加载时进行检查。请参阅@bini的答案以了解该代码的放置位置。为什么不使用!searchIcon.has('.fa search')
而不是搜索HTML?另外,由于您已经做过一次$('.searchIcon')
,只需在append
之前使用searchIcon
…我不知道该方法有什么作用,实际上并不喜欢jQuery。不过,关于第二部分你是对的。这一部分很有趣,但并不闪烁。我正在尝试为占位符“”实现闪烁效果,您可以使用CSS来实现。检查笔: