小编Yak*_*ovL的帖子

在执行搜索之前,如何使我的实时jQuery搜索等待一秒钟?

我有一个搜索输入,在输入时将数据从输入发送到php文件.php文件在我的数据库上搜索并显示搜索选项列表.你知道,ajax风格直播搜索.

我的问题是,如果你输入的东西非常快,它可能只是从前1或2个字母开始搜索,即使已经输入了另外10个字母.这会导致一些问题.

我的jQuery看起来有点像这样:

$(document).ready(function(){
  $('#searchMe').keyup(function(){
    lookup(this.value);
  });
});
Run Code Online (Sandbox Code Playgroud)

function lookup(searchinput) {

  if(searchinput.length == 0) {
    // Hide the suggestion box.
    $("#suggestions").hide();
  } else {

    $('#loading').fadeIn();

    $.post("/RPCsearch.php", {queryString: ""+searchinput+""}, function(data){
      if(data.length > 0) {
        $("#suggestions").html(data).show();
        $('#loading').fadeOut();
      }
    });
  }
} // lookup
Run Code Online (Sandbox Code Playgroud)

所以我只是很好奇,我怎么能这样做,以便我的脚本等到我在完成输入之后再运行该函数?我的逻辑说的是,如果一个键没有被按下200微秒,运行该功能,否则稍微抬起一点.

这是怎么做到的?

javascript ajax jquery

18
推荐指数
2
解决办法
2万
查看次数

在jQuery jsonp ajax请求的查询字符串中有什么下划线?

当我从jsonp请求(下面的客户端代码)查看查询字符串时,有两个对象,一个需要在响应中使用的"回调"字符串(所以客户端代码指向成功处理程序)和一个带有_这个下划线的关键是什么?我在任何文档中都找不到任何引用,它似乎是某种形式的.

我虽然它可能用于指向错误处理程序(在其上,与回调结合,或替换回调字符串中的下划线后面的数字),但它似乎不是.

url = 'http://localhost:11767/Handlers/MyHandler.ashx';
Run Code Online (Sandbox Code Playgroud)

...

$.ajax({
    url: url,
    dataType: "jsonp",
    error: function (jqXHR, textStatus, errorThrown) {
        //...
    },
    success : function(d) {
        //...
    }
});
Run Code Online (Sandbox Code Playgroud)

要么

    $.getJSON(url + "?callback=?", function(d) {
    }).success(function(d) {
        //...
    }).error(function(jqXHR, textStatus, errorThrown) {
        //...
    }).complete(function(d) {
        //...
    });
Run Code Online (Sandbox Code Playgroud)

旁注以防万一这有助于读取此内容:因为这是一个jsonp请求,只有在客户端发生异常时才会出现错误,例如,存在超时或响应格式化问题(即不使用回调),为了克服这个问题,我总是在处理程序中记录并吞下异常,但是给出一个标准响应对象(所有响应都由其构成),该对象具有异常的state属性和message属性.

jquery jsonp

17
推荐指数
1
解决办法
8499
查看次数

SVG会更改大小,但不会在滚动过渡时设置动画

我有一个页脚/行的SVG,但它们在第1和第2部分之间的过渡期间无法动画.代码调试起来并不简单,因为这需要使用控制几个元素大小的js进行动画处理.许多勇敢的用户已经提出了可在Chrome和Firefox中运行的解决方案,但为了获得信誉,该解决方案也必须在Safari中运行.

我已经验证了我在transition(.fixed)期间添加的类确实已应用,因为它们是我使用的更改SVG的大小.因此,当SVG改变大小时,由于某种原因,我仍然无法将CSS转换为动画.您可以在下面的GIF中查看此失败动画.

页脚没有动画:

css Transition不起作用/动画

我认为需要转换代码的元素是SVG本身,它们是类areaSVG,因为它们是从更改max-height: 18vh到的那些max-height: 9vh.但是,当我添加一些动画代码时.areaSVG,它不起作用,所以也许我是错误.这是我尝试添加到.areaSVG失败的初始SVG()设置的转换代码:

  -webkit-transition: max-height 1s;
  -moz-transition: max-height 1s;
   transition: max-height 1s;
Run Code Online (Sandbox Code Playgroud)

几个月前,在另一个经验更丰富的编码器的帮助下,我添加了一个javscript函数,在某些时候动画了SVG.我们使用JS来调用window.requestAnimationFrame(startAnimation),但它不再有效.我评论了与此相关的部分,但是如果您认为需要JS才能使其生成动画,请随意分叉代码笔并使用它.一个合适的答案应该使动画在Safari,Chrome和Firefox中运行.

Codepens

  • 这是您应该解决的最简单,最小化的版本,因为它没有媒体查询(请求@Eric N:http://codepen.io/ihatecoding/pen/LREOPW

  • 这是完整的codepen,有媒体查询:http://codepen.io/ihatecoding/pen/ALjKKz

选择

第一部分的选择器(在页面顶部):

  • 整个页脚: #indexFooter
  • SVG家长: .ey-col-svg
  • SVG本身: .areaSVG

第二部分的选择器(向下滚动100px后):

  • 整个固定页脚: #indexFooter.fixed
  • 固定的SVG父母: .ey-col-svg.fixed
  • 固定的SVG本身: .areaSVG.fixed

注意:当页面首次加载时,SVG parent(.ey-col-svg)和SVG本身(.areaSVG)都是不可见的,并且具有display:none避免用户奇怪体验的设置.

以下是有关每个部分中重要元素的信息:

大页脚(第一部分)

初始CSS(第一部分)

  /* The whole footer container */
  #indexFooter …
Run Code Online (Sandbox Code Playgroud)

html javascript animation svg css-transitions

17
推荐指数
1
解决办法
983
查看次数

如何删除元素的第一个子元素,但在Jquery中由$(this)引用?

场景是我有两个divs:一个是我选择items(divResults)的地方,然后它转到下一个div(divSelectedContacts).当我选择它时,我在它旁边放一个刻度线.我想要做的是当我再次选择它时我想删除刻度线并从中删除元素divSelectedContacts.

这是代码:

$("#divResults li").click(function()
{
    if ($(this).find('span').size() == 1)
    {
        var copyElement = $(this).children().clone();
        $(this).children().prepend("<span class='ui-icon ui-icon-check checked' style='float:left'></span>");
        $("#divSelectedContacts").append(copyElement);
    } else
    {
        var deleteElement = $(this).find('span'); //here is the problem how to find the first span and delete it
        $(deleteElement).remove();
        var copyElement = $(this).children().clone();//get the child element
        $("#divSelectedContacts").find(copyElement).remove(); //remove that element by finding it
    }
});
Run Code Online (Sandbox Code Playgroud)

我不知道如何spanli使用中选择第一个$(this).任何帮助深表感谢.

jquery jquery-selectors

16
推荐指数
3
解决办法
3万
查看次数

.html,.css,.js的htaccess UTF-8编码 - 最好的方法是什么?

对于yslow页面速度,我想删除我的元标记并将我的编码放入.htaccess文件中.以下是我读过的所有方法.哪种方式首选?语言设置也是一个好主意 - 如果文件匹配的一面将适用于所有文件类型?

1)https://github.com/jancbeck/My-Wordpress-Boilerplate/blob/master/htaccess.txt

AddDefaultCharset utf-8
AddCharset utf-8 .html .css .js
DefaultLanguage en-US
Run Code Online (Sandbox Code Playgroud)

VS

2)http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html

<filesMatch "\.(html|css|js)$">
AddDefaultCharset UTF-8
DefaultLanguage en-US
</filesMatch>
Run Code Online (Sandbox Code Playgroud)

VS

3)我怀疑这就是所需要的.但未经测试.

AddCharset UTF-8 .html .css .js
DefaultLanguage en-US
Run Code Online (Sandbox Code Playgroud)

.htaccess utf-8 yslow pagespeed

16
推荐指数
1
解决办法
5万
查看次数

如何保存从imagecreatefromstring()函数创建的图像?

这是我的代码:

$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);

}
else {
    echo 'An error occurred.';
}
Run Code Online (Sandbox Code Playgroud)

我想将以这种方式生成的图像保存到目录中.我该怎么做呢?

php

16
推荐指数
2
解决办法
3万
查看次数

如何在PHP中获取请求内容(正文)?

我正在向内容中带有XML的php服务器发送请求:

POST /index3.php HTTP/1.0
Connection: Close
Accept: application/xml
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>
<root />
Run Code Online (Sandbox Code Playgroud)

我在全局检查瓦尔(如$_GET,$_POST,$_ENV,$_FILES,$_REQUEST...),但它们都是空的.

我怎样才能检索服务器中的内容?

php request

15
推荐指数
1
解决办法
1万
查看次数

设置为true的CURLOPT_RETURNTRANSFER无法在托管服务器上运行

我正在尝试处理结果,$data = curl_exec($ch);而不是在屏幕上打印它.为了达到我设定的选项CURLOPT_RETURNTRANSFER,以true这样的:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
Run Code Online (Sandbox Code Playgroud)

在我的本地服务器上,这按预期工作,但当我在服务器上将相同的文件放在网上时,它不起作用.

当我设置CURLOPT_RETURNTRANSFERfalse它的工作原理.

我究竟做错了什么?

php curl

15
推荐指数
1
解决办法
9万
查看次数

正则表达式记事本每行增加数字

我将使用Notepad ++在每行的开头逐步添加数字.这不是一个开始.但是,就像

  when ID = '1' then data
  when ID = '2' then data
  when ID = '3' then data
  .
  .
  .
  .
  when ID = '700' then
Run Code Online (Sandbox Code Playgroud)

有没有办法可以通过替换任何表达式来增加这些数字,或者是否有任何内置的记事本功能.

谢谢

regex notepad++ auto-increment

15
推荐指数
1
解决办法
2万
查看次数

'bytes'对象没有'encode'属性

在将每个文档插入集合之前,我正在尝试存储salt和哈希密码.但在编码salt和密码时,它显示以下错误:

 line 26, in before_insert
 document['salt'] = bcrypt.gensalt().encode('utf-8')

AttributeError: 'bytes' object has no attribute 'encode'
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

def before_insert(documents):
    for document in documents:
        document['salt'] = bcrypt.gensalt().encode('utf-8')
        password = document['password'].encode('utf-8')
        document['password'] = bcrypt.hashpw(password, document['salt'])
Run Code Online (Sandbox Code Playgroud)

我在virtualenv中使用eve框架和python 3.4

python bcrypt python-3.x

15
推荐指数
1
解决办法
6万
查看次数