小编Roy*_*Roy的帖子

如何防止这个奇怪的jQuery .animate()滞后?

见demo:jsFiddle

  • 我有一个简单的表单,在点击'show'/'cancel'时切换
  • 一切正常,但是如果你在表单显示后不久点击"取消",那么在动画开始之前就有2-3秒的延迟.
  • 如果您在单击"取消"之前等待几秒钟,则不会发生这种情况.
  • 在所有测试的浏览器中都会出现滞后(即ff,chrome).

1.什么可能导致这种滞后,如何防止这种情况发生?

2.有没有更好的方法来编码这个动画序列,这可能会阻止任何滞后?

HTML:

<div id="newResFormWrap">
    <form id="newResForm" action="" method="post" name="newRes">
        <div id="newResFormCont">
            <h3>title</h3>
            <p>form!</p>
            <div class="button" id="cancelNewRes">Cancel</div>
        </div>
    </form> 
</div>
<div class="button" id="addRes">show</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$("#newResForm").css({opacity: 0});

$("#addRes").click(function () {
    toggleNewRes()
});
$("#cancelNewRes").click(function () {
    toggleNewRes()
});

//toggleNewRes
function toggleNewRes() {
    if ($("#newResFormWrap").css('display') == "none") {//if hidden 
        $("#addRes").animate({ opacity: 0 }, 'fast', function() {
            $("#newResFormWrap").toggle('fast', function (){
                $("#newResForm").animate({ opacity: 100 },2000);
            });
        });
    } else { //if visible
        $("#newResForm").animate({ opacity: 0 }, …
Run Code Online (Sandbox Code Playgroud)

jquery lag jquery-animate

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

一组函数的替代?

我正在编写一个应用程序(php),它需要很长的类似但不同的函数列表,这些函数由一组键调用:

$functions = [
    "do this" => function() {
        // does this
    },
    "do that" => function() {
        // does that
    }
] 
etc.
Run Code Online (Sandbox Code Playgroud)

我选择了将类似的功能在一个数组,因为它们不是类似不够 -让一个大的功能,这是完全有条件的语句相同的结果是不是要去工作.而且我也需要能够仅通过键来调用它们,例如:

$program = ["do this", "do that", "do this"];
foreach ($program as $k => $v) {
    $functions[$v]();
}
Run Code Online (Sandbox Code Playgroud)

事实是这个函数 - 数组结构引起了很多问题,例如我很难从另一个数组函数中调用一个数组函数,例如这不起作用:

"do that" => function() {
    $functions["do this"]();
}
Run Code Online (Sandbox Code Playgroud)

也不是这样

"do that" => function() {
    global $functions;
    $functions["do this"]();
}
Run Code Online (Sandbox Code Playgroud)

或这个:

"do that" => function($functions) { …
Run Code Online (Sandbox Code Playgroud)

php arrays functional-programming function

12
推荐指数
3
解决办法
609
查看次数

如何更快地插入/编辑/分组css规则?

我发现在写css时我的大部分时间都浪费在找到合适的地方放置新规则.例如,如果我有这个样式表:

.a, .b, #c {
  display:inline-block;
}

.d {
  color: #fff;
}
Run Code Online (Sandbox Code Playgroud)

我想补充一点.d {display:inline-block;),我经常会想一想我是否应该将它添加到第1或第2部分.含义:

.a, .b, #c, .d {
  display:inline-block;
}
Run Code Online (Sandbox Code Playgroud)

VS

.d {
  color: #fff;
  display:inline-block;
}
Run Code Online (Sandbox Code Playgroud)

显然,随着CSS变得越来越复杂,浪费了更多的时间.另一个时间消费者是在样式表中多次出现选择器时定位现有规则以编辑它们的过程.

是否有特定的工作流程/工具可以使CSS编写过程更快更有效?


请注意:

  1. 一个类似的问题已经存在,但它是两年前回答,因此需要一个上最新的答案

  2. 作为一个相对较新的SO用户,我不确定这是属于这里还是程序员.如果这是关于SO的偏离主题我将很乐意迁移它.

css css-selectors css3

9
推荐指数
2
解决办法
309
查看次数

8
推荐指数
2
解决办法
738
查看次数

如何使用jQuery创建像倒计时一样的饼图?

我正在尝试编写类似这样的代码 -

在此输入图像描述

我想加入我的编码尝试,只是我没有真正的线索.当谷歌搜索"jQuery倒计时","饼图"等东西时,我只找到插件,我想自己编码.我甚至不确定这是否应该用html5 canvas,jQuery或两者来完成..

我的第一步应该是什么?

jquery canvas graphic html5-canvas

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

用Javascript/PHP获取用户时区字符串?

我试图将用户的时区作为单词上的字符串.例:

$timezone = "Asia/Tel_Aviv";
Run Code Online (Sandbox Code Playgroud)

在研究这个问题时,我得到了如何使用Javascript获取时区偏移,但我仍然不清楚如何将时区偏移量转换为php中的时区字符串,如上所示?

或者,我在Javascript/PHP中使用哪个其他方法获取每个用户的时区字符串?

我真的不确定如何处理这个问题.

php timezone

4
推荐指数
1
解决办法
5949
查看次数

使用id属性将数据传递给php是否有意义?

我正在创建一个可点击的日历,其中每个单元格可以标记为"绿色"或"红色".这应记录在DB中.我想过动态地为每个<td>提供信息ID,例如

<td id="1-2013-16-1" class="green">16</td>
Run Code Online (Sandbox Code Playgroud)

然后使用jQuery获取id并使用ajax将其发送到php,对于已被单击的每个单元格.

这是可行和有效的,但有些东西告诉我id不适合这个.这是识别每个小区需要发送的信息的合理方法吗?或者,有什么更好的方法呢?

html javascript php ajax jquery

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

使用var foo = new RegExp是否必要?

在研究javascript中正则表达式的使用时,可以遇到两种类型的示例:

A:

var regex = /^[a-zA-Z0-9]+$/;
Run Code Online (Sandbox Code Playgroud)

B:

var regex = new RegExp ("^[a-zA-Z0-9]*$"); 
Run Code Online (Sandbox Code Playgroud)

有必要使用var foo = new RegExp吗?或者,何时应该选择每种方法?

javascript regex

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

如何包含相对于当前文件而不是父文件的文件?

我知道这个主题已经在 SO 中讨论过,但我无法找到解决方案。

我有assign.php:

$a=1;
Run Code Online (Sandbox Code Playgroud)

要求.php:

require "assign.php";
Run Code Online (Sandbox Code Playgroud)

和 echo.php:

require "require.php"
echo $a;
Run Code Online (Sandbox Code Playgroud)

输出 1. 问题是,当我想从不同位置使用“require.php”而没有重复文件时。例如,

/文件夹/echo.php:

require "../require.php";
echo $a;
Run Code Online (Sandbox Code Playgroud)

不会工作,因为 require.php 试图要求不存在的 /folder/assign.php。

尝试在 require.php 中使用完整的 url:

require "http://site.com/assign.php";
Run Code Online (Sandbox Code Playgroud)

也不会工作,因为代码没有被包含,而是被编译,而且由于 $a 不是全局的,它是 undefiend。

有人告诉我,真的不推荐使用全局变量。

据说使用文件系统完整路径也很危险。

解决办法是什么?我怎样才能确保 require.php 总是为assign.php 寻找正确的路径,无论 require.php 是从哪里包含的?

php variables

0
推荐指数
1
解决办法
905
查看次数

在检查变量是否存在之前必须使用isset()吗?

据我所知,反对提供方便的javascript if (var) {},即使var不存在,在PHP中你必须使用if (isset(var)) {},或者if (isset(var) && var) {}.

今天我偶然发现了一个似乎来自可靠来源的登录教程,其中isset没有使用:

if(!$_SESSION['id']):
Run Code Online (Sandbox Code Playgroud)

[来自链接页面,demo.php部分,第15行]

在我的本地服务器上,此行在$_SESSION['id']未设置时中断,即恕我直言,预期的行为.$_SESSION['id']在此行之前未定义.

是否有一种神秘的方法可以避免烦人的isset()检查?

php

0
推荐指数
1
解决办法
207
查看次数