小编Phi*_*lip的帖子

jQuery .animate()设置display:none,如何避免?

我有以下代码:

HTML:

<div id="clickme">
    Click me  :-)
</div>

<div id="info" style="background:red; width:100%; height:100px; margin-bottom:-100px; z-index:20; position:absolute; bottom:0px;">
  Stay, damn!
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$('#clickme').click(function() {
    $('#info').animate({
        marginBottom: 'toggle'
    },{
        duration:500
    });
});
Run Code Online (Sandbox Code Playgroud)

它也可以在http://jsfiddle.net/DxnQJ/上找到

显然,我希望#info DIV每次#clickme DIV点击都会出现/消失.它按预期工作,除了#info DIV由于jQuery将其CSS display属性设置为动画后动画消失none.

我怎么能告诉jQuery停止隐藏我的DIV

html javascript css jquery jquery-animate

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

在运行时确定OS

ISO C和POSIX都不提供在运行时确定底层操作系统的功能.从理论的角度来看,无关紧要,因为C为最常见的系统调用提供包装,从挑选的角度来看,甚至不必底层操作系统.

但是,在许多实际场景中,已经证明有必要了解有关主机环境的信息,而不是C愿意共享,例如为了找出存储配置文件的位置或如何调用select(),所以:

对于用C编写的应用程序来说,在运行时确定底层操作系统是否有惯用的方法?

至少,我可以轻松地在Linux,Windows,BSD和MacOS之间做出决定吗?

我目前的猜测是检查某些文件/目录的存在,例如C:\/,但这种方法似乎不可靠.也许查询一系列这样的来源可能有助于建立"操作系统指纹"的概念,从而提高可靠性.无论如何,我期待着你的建议.

c linux windows macos bsd

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

解析:库函数,FSM,explode()或lex/yacc?

当我必须解析文本(例如配置文件或其他相当简单/描述性的语言)时,我会想到几种解决方案:

  • 使用库函数,例如strtok(),sscanf()
  • 一个有限状态机,一次处理一个字符,标记和解析
  • 使用explode()我曾经写过的纯粹无聊的功能
  • 使用lex/ yacc(读取:flex/ bison)生成适当的解析器

我不喜欢"库函数"的方法.感觉笨拙和尴尬.explode()虽然它不需要太多新代码,但感觉更加惊慌失措.并且flex/ bison经常看起来纯粹矫枉过正.

我通常会实现一个FSM,但与此同时,我已经为可能需要在稍后维护我的代码的可怜人员感到遗憾.

因此我的问题是:

解析相对简单的文本文件的最佳方法是什么?
它有关系吗?
是否有共同商定的方法?

c parsing lex scanf explode

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

函数返回类型的类型限定符

给出以下C源代码:

const int foo(void)
{
    return 42;
}
Run Code Online (Sandbox Code Playgroud)

gcc编译没有错误,但有-Wextra-Wignored-qualifiers,出现以下警告:

warning: type qualifiers ignored on function return type
Run Code Online (Sandbox Code Playgroud)

我理解在C++中有很好的理由来区分const函数和非const函数,例如在运算符重载的上下文中.

然而,在普通的C中,我没有看到为什么gcc不发出错误,或者更简洁地说明为什么标准允许const函数.

为什么允许在函数返回类型上使用类型限定符?

c

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

找到N个中最大和第二大的数字

给定n个数字,如何使用最多n + log(n)比较找到最大和第二大数字?

请注意,它不是O(n + log(n)),而是n + log(n)比较.

sorting algorithm comparison performance runtime

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

OpenSSL:在没有SSL_read()/ SSL_write()的情况下执行en// decryption

我用C编写了一个基于事件的网络库,现在我想通过OpenSSL添加SSL/TLS支持.而不是使用SSL_read()SSL_write(),我宁愿让OpenSSL只执行传出/传入数据的加密/解密,让我自己传输/接收数据.

我是SSL/TLS和OpenSSL的新手,所以:

有没有办法让OpenSSL 执行char数组的加密/解密?

类似的东西size_t SSL_encrypt(const char *buf_in, size_t size_in, char *buf_out)会很棒.

c openssl network-programming

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

异常与 errno

作为一名 C 程序员,我对异常没有太多经验。我更习惯于errno作为跨多个函数调用传达错误的一种方式。话虽如此,我没有看到异常的显着特征,所以......

异常和使用之间的根本区别是什么errno

c c++ exception errno

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

如何使HTML <IMG>根据鼠标移动滚动?

我的图像比实际的屏幕尺寸大得多.我想要一个网页,以原始大小显示其中一个图像,因此只显示实际图像的一部分.图像的可见区域应根据鼠标移动滚动.

http://www.joeltinley.com/的网页显示了我想要完成的任务.但是,这家伙正在使用Flash,而我希望有一个基于HTML,CSS和Javascript的解决方案.

对此有一个共同的解决方案吗?也许一些jQuery魔术?还有其他提示吗?


我一直在网上搜索,但到目前为止我找不到令人满意的解决方案.

html javascript css jquery

4
推荐指数
2
解决办法
5632
查看次数

MySQL C API内存泄漏?

最近,我开始研究一个使用它的C程序libmysqlclient.在检查我的代码时valgrind,它报告了内存泄漏.以下最小代码段重现了该行为:

#include <mysql.h>

int main(void)
{
    MYSQL* mysql = mysql_init(0);

    mysql_close(mysql);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

检查生成的程序valgrind告诉我:

==25614== LEAK SUMMARY:
==25614==    definitely lost: 0 bytes in 0 blocks
==25614==    indirectly lost: 0 bytes in 0 blocks
==25614==      possibly lost: 0 bytes in 0 blocks
==25614==    still reachable: 288 bytes in 3 blocks
==25614==         suppressed: 0 bytes in 0 blocks
Run Code Online (Sandbox Code Playgroud)

根据MySQL API参考,mysql_close()...

关闭先前打开的连接.如果句柄是由mysql_init()或mysql_connect()自动分配的,mysql_close()还会释放mysql指向的连接句柄.

但是,valgrind报告没有释放内存.这有什么不对?

c mysql api valgrind memory-leaks

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

何时在COBOL中使用圆点?

我对COBOL完全不熟悉,我想知道:

似乎没有区别

DISPLAY "foo"
Run Code Online (Sandbox Code Playgroud)

DISPLAY "foo".
Run Code Online (Sandbox Code Playgroud)

一条线末端的点实际上做了什么?

我应该何时使用/避免它?

cobol cobol85 gnucobol

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

在#include指令结束时禁止GCC警告"额外令牌"

我正在用C语言编写一个程序,用于编译并在HP NonStop机器上运行.但是,我想在运行Linux的工作站上进行主要开发.HP NonStop C编译器需要非标准的#include指令,如下所示:

#include <stdio.h> nolist
Run Code Online (Sandbox Code Playgroud)

对于每个#include指令,我的工作站的GCC抱怨:

S88USF.c:139:21: warning: extra tokens at end of #include directive
Run Code Online (Sandbox Code Playgroud)

我怎么能抑制这个特别警告?

注意:在SO上,已经提出类似的问题,正确的答案是"不要让gcc首先抱怨任何理由".但是,在这种情况下,我明确地希望完全按原样使用#include指令.

我知道我在做什么,我只是不知道如何通知gcc.

c gcc warnings compiler-warnings gcc-warning

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

CUA模式下Cx的标准行为

我最近改用viemacs.我喜欢CUA模式.但是,CUA模式会C-x杀死活动区域.当我想要清除矩形选择时,这很烦人C-x r c.

如何CUA在完全开箱即用的行为中使用模式C-x

emacs elisp

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

如何判断C中最小信息单位的大小?

在C中,sizeof运算符用于确定给定数据类型或对象的字节大小.

同样,有CHAR_BIT<limits.h>其被定义以反映位的一个字节的数目.

现在这可能有点假设,但是如何判断最小信息单元可以存储的不同值的数量,即主机环境是否提供位,trits,nat或其他.

回答

显然,C标准假设主机环境在位上运行.这样的位需要能够存储至少两个值.

这个问题产生了值得注意的提议

三元机器
的最小信息单元的名称:TIT 四元机器的最小信息单元的名称:QUIT

c sizeof bit

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