小编Ann*_*nan的帖子

如何使用javascript获取位于范围内的节点?

我正在尝试获取范围对象中的所有DOM节点,这样做的最佳方法是什么?

var selection = window.getSelection(); //what the user has selected
var range = selection.getRangeAt(0); //the first range of the selection
var startNode = range.startContainer;
var endNode = range.endContainer;
var allNodes = /*insert magic*/;
Run Code Online (Sandbox Code Playgroud)

我一直在考虑过去几个小时的方法,并想出了这个:

var getNextNode = function(node, skipChildren){
    //if there are child nodes and we didn't come from a child node
    if (node.firstChild && !skipChildren) {
        return node.firstChild;
    }
    if (!node.parentNode){
        return null;
    }
    return node.nextSibling 
        || getNextNode(node.parentNode, true);
};

var getNodesInRange = function(range){
    var startNode = range.startContainer.childNodes[range.startOffset]
            || …
Run Code Online (Sandbox Code Playgroud)

javascript dom traversal range

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

如何在PHP中将图像转换为黑白图像

如何在PHP中将图像转换为黑白图像?

不只是把它变成灰度,而是每个像素变成黑色或白色?

php image imagefilter

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

如何合并PHP数组?

我有两个动物阵列(例如).

$array = array(
    array(
        'id' => 1,
        'name' => 'Cat',
    ),
    array(
        'id' => 2,
        'name' => 'Mouse',
    )
);

$array2 = array(
    array(
        'id' => 2,
        'age' => 321,
    ),
    array(
        'id' => 1,
        'age' => 123,
    )
);
Run Code Online (Sandbox Code Playgroud)

如何通过ID将两个数组合并为一个?

php arrays

12
推荐指数
2
解决办法
8387
查看次数

GA中的精英主义:我应该让精英被选为父母吗?

我对遗传算法(和其他进化算法)中的精英主义概念感到有些困惑.当我保留然后将1个(或更多)精英个人复制到下一代时,

  • 我应该考虑当前一代的父选择中的精英解决方案(建立新的人口)吗?
  • 或者,我是否应该使用其他人(将精英放在一边)来建立新的人口并将精英直接复制到下一代?

如果是后者,精英主义有什么用?是不是因为没有失去最佳解决方案?因为在这个方案中,它根本无助于收敛.

例如,交叉/突变部分下,表明精英没有参与.

(当然,可以询问有关幸存者选择部分的相同问题.)

genetic-algorithm evolutionary-algorithm

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

javascript中的递归原型继承?

Object.create = function (o) {
    function F() {}
    F.prototype = o;
    return new F();
};
Run Code Online (Sandbox Code Playgroud)

来自JavaScript中的Prototypal继承

我一直在使用这段代码来创建从以前的代码继承的新对象.但是我遇到了一点意外.

a = {
    foo: [1,2,3]
}

b = Object.create(a);
// b.foo -> [1,2,3]
b.foo = "test";
// b.foo -> "test"
// a.foo -> [1,2,3]

c = Object.create(a);
// c.foo -> [1,2,3]
c.foo[0] = 'test';
// c.foo -> ["test",2,3]
// a.foo -> ["test",2,3]
Run Code Online (Sandbox Code Playgroud)

在尝试改变时,c.foo我改变了a.foo,c.foo显示了改变,因为它继承了a.我现在看到的唯一解决方案是仅修改以下的直接属性b:

d = Object.create(a);
d.foo = Object.create(a.foo);
d.foo[0] = 'text'; …
Run Code Online (Sandbox Code Playgroud)

javascript inheritance prototypal-inheritance

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

在javascript中将小数转换为sexagesimal(基数为60)

使用0-9,AZ和ax作为数字将十进制数字(十进制)转换为六十进制(基数六十)表示为字符串的最佳方法是什么.

我打算用javascript编写它,但任何帮助表示赞赏.

用法示例:

>>decToSex(60);
"10"
>>decToSex(123);
"23"
>>decToSex(1000000);
"4bke"
>>decToSex(1234567.89);
"5gu7.rO"
Run Code Online (Sandbox Code Playgroud)

我使用的最终代码基于Paolo的答案:

var decToSex = function(){
    var decToSexMap = ['0','1','2','3','4','5','6','7','8','9',
            'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
            'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x'];

    return function(number){

        var negative = '';
        if (number < 0){
            var negative = '-';
        }

        number = number.toString().split('.');
        var integer = Math.abs(number[0]);
        var fraction = number[1];
        var result = '';

        do {
            result = decToSexMap[integer % 60] + result;
            integer = parseInt(integer / 60);
        } while (integer > 0);

        if (fraction){
            var decimalPlaces = fraction.toString().length;
            result += '.'; …
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何将"完整"HTML文件保存为单个文件?

是否有任何实用程序或Web浏览器可以将文件和引用的资源保存为单个HTML文件?

对于大多数Web浏览器/ wget,可以选择将所需的CSS和图像作为单独的文件下载.有没有办法自动内联CSS和图像?

html browser utilities wget

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

使用跷跷板启用全屏?

当按下F11时,如何使我的跷跷板程序全屏显示?(不只是最大化)

我目前有这个:

(defn toggle-full-screen [e]
  (-> (to-root e)
    magic!)

(def full-screen-action  (action  :name "Full Screen" :tip "Full Screen"     
                                  :mnemonic \f        :key (keystroke "F11")
                                  :handler toggle-full-screen))
(def view-menu (menu  :text "View"
                      :mnemonic \v
                      :items [full-screen-action]))

(def top-menubar (menubar :items [view-menu]))
[...]
Run Code Online (Sandbox Code Playgroud)

toggle-full-screen 在按下F11时运行,但我无法弄清楚如何使框架全屏.

swing clojure fullscreen seesaw

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

是否有可能发现东亚语言支持?

我正在开发一个需要显示日文字符的javascript记忆游戏.是否有跨浏览器方式检测亚洲语言或日语的支持?

window.navigator.language将被设置为浏览器的语言,但是错过了那些没有将日语设置为浏览器语言的人(?).

javascript browser internationalization

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

在地图中获取可能值之一的惯用法?

获取地图中几个可能键的第一个非零值的最佳方法是什么.

例:

(get-first-matching {:fum 4 :bar 41 :baz 45} [:foo :bar :baz])
;=> 41
Run Code Online (Sandbox Code Playgroud)

clojure

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