下拉神器是一款专业的下拉词平台,提供各种下拉功能:百度下拉丶360搜索下拉丶必应搜索下拉丶哔哩哔哩下拉丶抖音下拉等等,里面还有批量做词教程技术,可以一次性做10-50个词,省心高效!批量做词,批量出词,可以实现霸屏效果!
有的客户想删除下拉,但是百度不受理,就可以使用批量做词霸屏技术,实现把那些负面信息顶下去,顶掉的效果=删除效果!欢迎您前来使用!新手不懂使用,请多看2遍视频教程哦!下拉神器100%有效果的!
给大家看一个下拉神器介绍的视频,看完后,点击下面的按钮进入”下拉神器“
欢迎使用下拉神器,下拉行业老品牌,如果下拉神器都不好使,整个行业其他平台一样不好使,但是大家一定要多学习多看教程,先学会做词出词的技巧!
下一篇文章内容预览:
我们在使用百度或者进行搜索的时候,输入一个字母就可以生成一个下拉列表,通过键盘上的上下键就可以控制列表项的选择。我最近在一个项目中也遇到过类似的情况,当我在文本框中输入一个字母的时候移动端关键词搜索下拉★64xl.com专业下拉联想词,一个网页下拉功能怎么实现的,就会出现一个下拉列表,展示从数据库中搜索到的结果。
我先说一下我的实现思路,当用户在文本框中输入后,可以通过ajax将文本框中的内容传递到后台的某个页面,在该页面处理后得到结果(这里的结果是一个字符串数组)并在前端进行展示。有了想法之后,就开始思考具体怎么实现,如果要先用ajax的话,可以使用提供的$.post()方法,这个方法可以带4个参数,分别是:
url,请求页面的URL;
data(可选),作为HTTP消息的实体内容发送到服务器;
(可选)加载成功后的回调函数,自动将请求结果和状态传递给此方法;
type(可选):服务器返回的数据格式,可以是xml、html、json等。
OK,现在我们对$.post()方法有了一定的了解,现在可以考虑一下这个方法该怎么写。在我的项目中,请求的URL地址是@Url.("")(由于是ASP.NET MVC架构,该地址是通过配置生成的,这个到前端转义后就是普通的URL地址)。需要传输的是带ID的文本框中的值,所以第二个参数是{:$("#").val()},这个是后台定义的。第三个参数是请求成功处理后要做什么,暂时就这么命名了。第四个参数设置为'json',也就是数据格式是JSON对象。这样的话,这个ajax请求可以写成:
$.post('@Url.Action("GetTags")', { pinyins: $("#newTag").val() }, pinyinCallback, 'json');
但如果用户立即将输入的字母发送到服务器,服务器负载就会过大,因此考虑将每个请求延迟一秒,因此发送请求的方法可以定义如下:
function pinyinOption() { var t = setTimeout(function () { $.post('@Url.Action("GetTags")', { pinyins: $("#newTag").val() }, pinyinCallback, 'json'); }, 1000); }
现在我们需要考虑什么时候调用这个方法。由于查询是基于用户输入结果的,因此我们可以考虑事件,在文本框(id)的事件触发后,调用前面定义的方法。但是考虑到这个函数可以通过键盘上的上下键来控制列表中的选项,所以这个事件可以这样定义:
$("#newTag").keyup(function (e) { if (e.keyCode != 40 && e.keyCode != 38) { currentTxt = $("#newTag").val(); pinyinOption(); } }).focus(function () { this.select(); });
38、40两个数值分别代表向上键、向下键,记录的是当前文本框的内容。
那么请求成功后回调函数应该做什么呢?这个回调函数应该做以下几件事。首先,请求的数据应该呈现在前台。这样就需要创建一些新的 DOM 元素来保存内容。我们就不浪费时间说这些了,直接上代码吧:
HTML代码:
新标签
js代码:
var $resultDiv = $('
'); var $resultUl = $('
'); var $resultLi = []; var currentTxt; function pinyinCallback(data) { $("#resultDiv").show(); $resultUl.html(""); for (var i = 0; data[i]; i++) { $resultLi[i] = $("
目前该回调函数只是将请求的数据添加到已创建的 id 的容器中,然后将此容器添加到页面中已存在的 id 的容器中。为了美观带搜索功能的下拉选择框,也为了实现点击列表项提交的功能,该回调函数还可以做以下事情:
js代码:
$("#resultDiv li").hover(function () { $(this).addClass("esultDivLiHover"); }, function () { $(this).removeClass("esultDivLiHover"); }); $("#resultDiv").blur(function () { $("#resultDiv").hide(); }); $("#resultDiv li").click(function (event) { $("#newTag").val($(this).text()); $("form").submit(); });
CSS 代码:
#resultDiv { left: 47px; border: 1px solid #000; background: #fff; z-index: 100; width: 200px; } #resultDiv li { cursor: default; padding: 2px 4px; } .esultDivLiHover { background: #cfcfcf; }
当点击列表项时带搜索功能的下拉选择框,表单被提交一次,并且当前文本框的内容被设置为列表项的内容。
接下来我们要实现键盘的上下键控制功能,这样整个回调函数代码就是:
(数据) {
$(“#”).显示();
$.html(“”);
for (var i = 0; 数据[i]; i++) {
$[i] = $(“”);
$[i].html(数据[i]);
$.($[i]);
如果 ($.html() == "") {
$(“#”).隐藏();
$.($);
$.($("#"));
$("# li").( () {
$(这个).(“”);
}, () {
$(这个).(“”);
});
$(“#”).blur( () {
$(“#”).隐藏();
});
$("# li").( () {
$("#").val($(this).text());
$("表格").();
});
//键盘上下键控制
var = -1; //标记上下键的位置
.. = (e){
e = . || e;
if (e. == 40) { //向下键操作
if (++ == $("# li").) { //判断添加操作后的值是否超出列表数量的限制
= -1; //如果超出限制,则将该值改为初始值
$("#").val(); // 并将文本框中的值设置为用户用于搜索的值
$("# li").("");
别的 {
$("#").val($($("# li")[]).text());
$($("# li")[]).().("").end().("");
if (e. == 38) { //向上键操作
if (-- == -1) { //判断减量后是否移动到文本框
$(“#”).val();
$("# li").("");
else if ( == -2) { //判断值是否超出列表的限制
= $("# li"). - 1;
$("#").val($($("# li")[]).text());
$($("# li")[]).().("").end().("");
别的 {
$("#").val($($("# li")[]).text());
$($("# li")[]).().("").end().("");
};
OK,现在这个功能已经差不多完成了,并且在IE6中可以完美运行,但是还存在一些需要完善的bug,并且这个方法还存在可以优化的地方。