出于这个问题的目的,我们可以说我们需要append()
1000个body
元素对象.
你可以这样做:
for(x = 0; x < 1000; x++) {
var element = $('<div>'+x+'</div>');
$('body').append(element);
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是对我来说似乎效率低,因为AFAIK会导致1000次文件回流.更好的解决方案是:
var elements = [];
for(x = 0; x < 1000; x++) {
var element = $('<div>'+x+'</div>');
elements.push(element);
}
$('body').append(elements);
Run Code Online (Sandbox Code Playgroud)
然而,这不是一个理想的世界,这会引发错误Could not convert JavaScript argument arg 0 [nsIDOMDocumentFragment.appendChild]
.我明白append()
无法处理数组.
我将如何使用jQuery
(我知道DocumentFragment节点,但假设我需要在元素上使用其他jQuery函数.css()
),一次向DOM添加一堆对象以提高性能?
我正在尝试编译可通过javascript访问的信息列表,例如:
我知道用户可以改变任何这些信息,并且它的可靠性纯粹与信任有关,但我仍然对从客户端挖掘的其他信息感兴趣.
说我有一条路径:images/alphabet/abc/23345.jpg
如何从路径中删除文件?所以我最终得到:images/aphabet/abc /
所以我有以下功能.它的作用是监听所有元素的焦点事件.如果该元素处于$mobileMenu
或$menuItems
允许它,否则它将删除焦点:
var $body = $("body");
var $mobileMenu = $("#mobile-menu");
var $menuItems = $("#main-menu a");
$body.on("focus.spf", "*", function(e){
e.stopPropagation();
$this = $(this);
// Prevent items from recieving focus and switching view
if (!$this.is($mobileMenu) && !$this.is($menuItems)) {
$this.blur();
} else {
console.log(this);
}
})
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,如果现在不可聚焦的正常可聚焦元素先于我列出的任何白色元素,这会阻止用户专注于任何事情,因为它只是试图一遍又一遍地重新聚焦在同一个元素上.
有谁知道我怎么能告诉它而不是跳到下一个可聚焦的元素?
好吧,有很多"康威的生命游戏"问题,但这个问题非常具体.我将不得不首先向您抛出一堆代码,将其分解并告诉您问题所在.
所以这是迄今为止我的Conway的生命游戏实现,现在它仅限于调试控制台(JSfiddle - http://jsfiddle.net/georeith/C9Gyr/8/ - 启动它,打开你的控制台):
var utils = {};
/*
* utils.extend()
* - Extend initial object with all properties of following objects, objects later in the argument list take precedence.
*/
utils.extend = function(obj) {
var args = Array.prototype.slice.call(arguments, 1);
for (var i = args.length; i--;) {
for (var prop in args[i]) {
obj[prop] = args[i][prop];
}
}
return obj;
}
/*
* utils.defaults()
* - Overwrite initial object with properties of following objects only if key is …
Run Code Online (Sandbox Code Playgroud) 我想知道我是否可以将变量设置为无穷大,如果不是,那么实现我的问题的最佳方法是什么.以下是我的功能:
public function seekValue($value, $column = null, $limit = null) {
$this->connect('rb');
$results = array();
while (!feof($this->_pointer)) {
$data = explode($this->_config->delimiter(), fgets($this->_pointer, 1024));
if(!is_null($column)) {
if ($data[$this->_config->columns($column, "string")->index()] == $value)
array_push($results, $this->formatRow($data));
} else {
if (in_array($value, $data))
array_push($results, $this->formatRow($data));
}
}
$this->disconnect();
switch (count($results)) {
case 0;
return false;
case 1;
return $results[0];
default;
return $results;
}
}
Run Code Online (Sandbox Code Playgroud)
我$limit = null
在函数参数列表中设置,但是后来我想$limit
在我的while循环中使用,因此while (!feof($this->_pointer) && count($results) < $limit)
用户决定将整数传递给它.
如果是这种情况我可以这样做:
if (!is_int($limit)) {
$limit = infinity; …
Run Code Online (Sandbox Code Playgroud) 该gzip_proxied指令允许下列选项(非详尽):
如果响应头包含带有禁用缓存的值的"Expires"字段,则expired启用压缩;
如果响应头包含带有"no-cache"参数的"Cache-Control"字段,则no-cache启用压缩;
如果响应头包含带有"no-store"参数的"Cache-Control"字段,则no-store启用压缩;
如果响应头包含带有"private"参数的"Cache-Control"字段,则private启用压缩;
如果响应头不包含"Last-Modified"字段,则no_last_modified启用压缩;
如果响应头不包含"ETag"字段,则no_etag启用压缩;
如果请求标头包含"授权"字段,则auth启用压缩;
我看不出任何合理的理由来使用大多数这些选项.例如,为什么代理请求是否包含Authorization
标题,或者Cache-Control: private
影响我是否要gzip它?
鉴于Nginx的旧版本使用gzip压缩他们时,从响应中带ETag的,我可以看到一个用例no_etag:如果你没有Nginx的配置为您的gzip压缩响应的ETag,您可能希望通过对未压缩的响应与一个ETag而不是在没有ETag的情况下生成压缩的ETag.
但是,我无法弄明白其他人.
每个选项的预期用例是什么?
在这里得到一个非常奇怪的错误,我正在写一个flatfile数据库类,这一切都正常,直到我刷新,现在我不断得到这个消息:
致命错误:在第50行的/home/reithg/public_html/test/engine/class.database.php中调用非对象上的成员函数name()
我打电话给班级如下:
<?php
ini_set('display_errors', '1');
require('engine/class.database.php');
$config = new Config("lessons", array('first', 'second', 'third', 'fourth'), "data/");
$db = new Database($config, true);
print("Querying DB for 'theta' no exclusions: <br />");
print_r($db->query('theta', NULL, NULL));
print("<p /> Querying DB for 'theta' in column 'second': <br />");
print_r($db->query('theta', 'second', NULL));
print("<p /> Querying DB for first two rows: <br />");
print_r($db->getRows(2));
print("<p /> Querying DB for last three rows: <br />");
print_r($db->getRows(3, true));
print("<p /> Cleaning data …
Run Code Online (Sandbox Code Playgroud) 我有一个包含很多子元素的父容器.由于动画原因(子元素滑入和滑出父元素)我已将其overflow
属性设置为hidden
.
这很有效,但有几个孩子我想要在父母的界限之外可见.
我该如何做到只有某些孩子在父母的界限之外可见?
我在Backbone中有一个合并的集合,其中包含照片和相册.
为了区分它们,我添加了type
一个photo
或两个字段album
.当我填充集合时,我在Collection#model
方法中创建了不同的模型
model: (attrs, options) ->
switch attrs.type
when 'album' then new App.Models.Album(attrs, options)
when 'photo' then new App.Models.Photo(attrs, options)
Run Code Online (Sandbox Code Playgroud)
现在我发现了一个奇怪的错误,即添加照片和具有相同ID的相册(假设2
)会导致合并.
我在源代码中跟踪了这些 LOC.似乎它没有创建一个Backbone本身的分支是可以撤销的.我已经尝试过,但它也没有通过35次测试.
我想到了4种不同的方法,我不知道哪一种更好:
photo_2
.这会导致后端的更改以及前端的某些更改,从而无法访问服务器/photos/photo_2
1000000
.这将极大地降低已经上传具有给定ID的照片的给定用户也创建具有相同ID的相册的可能性.javascript ×5
php ×3
html ×2
jquery ×2
append ×1
arrays ×1
backbone.js ×1
coffeescript ×1
css ×1
data-mining ×1
fatal-error ×1
gzip ×1
http-caching ×1
http-headers ×1
nginx ×1
overflow ×1
performance ×1