小编Bra*_*roy的帖子

启用硬件加速:translate3d

正如 David Walsh 简要讨论的那样,可以使用 CSS 中从零开始的 translate3d 属性强制硬件加速。

它的工作原理如下:

.animClass {
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    -webkit-perspective: 1000;

    /* more specific animation properties here */
}
Run Code Online (Sandbox Code Playgroud)

我仍然不确定是否应该开始使用这种技术。我在我的响应式网站上使用了许多转换,尽管没有一个转换可以同时运行,我希望为旧设备和高性能设备提供流畅的体验。

那么我的问题是:

  1. 上述技术是否改善了不透明度、宽度和位置(左、右、上、下)等过渡的执行?并应具有上述性质。
  2. 这有多跨浏览器?我对 IE8 及更低版本不感兴趣,但尤其是移动 Android、iOS 和 Windows Phone 设备应该从中受益。需要添加什么代码来提高兼容性?
  3. 是否应该将硬件启用代码添加到具有该transition属性的每个元素中?如果是这样,有没有办法将其改造成一个可以轻松使用的简单 SASS mixin?

css animation android hardware-acceleration ios

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

为什么 jQuery 插件中是 this 而不是 $(this)

文档告诉我们:

假设我们想要创建一个插件,使一组检索到的元素中的文本变为绿色。我们所要做的就是将一个名为 greenify 的函数添加到 $.fn 中,它将像任何其他 jQuery 对象方法一样可用。

$.fn.greenify = function() {
    this.css( "color", "green" );
};


$( "a" ).greenify(); // Makes all the links green.
Run Code Online (Sandbox Code Playgroud)

请注意,要使用另一种方法 .css(),我们使用 this,而不是 $( this )。这是因为我们的 greenify 函数与 .css() 是同一对象的一部分。

我不明白最后一段。该函数传递给什么this?为什么不$(this)引用 jQuery 对象呢?我们不习惯$(el).css()在 jQuery 中设置 CSS 吗?那为什么不在插件中呢?

jquery jquery-plugins

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

删除不必要的边距并使用CSS调整高度

我正在尝试解决两个问题,但无法找到解决方案

第一个是li场之间的空间比2px宽得多.我该如何删除它?

另外一个是a字段只有文本高,尽管字段高度定义为50px.

我还从GitHub启用了normalize.css文件.

有什么建议?

HTML

<nav class="nav-box">
    <div class="row">
        <ul class="main-nav">
            <li><a href="#">YES</a></li>
            <li><a href="#">NO</a></li>
        </ul>
    </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

CSS

.row {
    max-width: 1140px;
    margin: 0 auto;
}
.nav-box {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 2px 2px #f2f2f2;
    min-height: 65px;
}
.main-nav {
    float: right;
    margin-top: 7px;
}
.main-nav li {
    list-style: none;
    display: inline-block;
    font-size: 100%;
}
.main-nav li a {
    height: 50px;
    background-color: #ee4723;
    padding: 0 18px 0 18px;
    font-size: 1.4rem;
    color: #fff; …
Run Code Online (Sandbox Code Playgroud)

html css

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

R中strsplit忽略大小写

我知道在grep中你可以简单地使用ignore.case = TRUE. 但是, strsplit又如何呢?您可以传递正则表达式作为第二个参数,但我不确定如何使该正则表达式不区分大小写。

目前,这就是我的 strsplit 的样子,但我想让搜索不区分大小写。我该怎么做呢?

strsplit(df$sentence, paste0(" ", df$node, "( |[!\",.:;?})\\]])"))
Run Code Online (Sandbox Code Playgroud)

例子:

sentence <- "De A-bom, Sint..."; 
node <- "a-bom"

contexts <- strsplit(sentence, paste0("(?i) ", node, "( |[!\",.:;?})\\]])"))
(leftContext <- sapply(contexts, `[`, 1))
Run Code Online (Sandbox Code Playgroud)

预期收益:

[1] "De"
Run Code Online (Sandbox Code Playgroud)

实际回报:

[1] "De A-bom, Sint..."
Run Code Online (Sandbox Code Playgroud)

但请注意,正则表达式本身确实可以在线工作

regex r case-sensitive strsplit

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

如何在stringi包中使用反向引用?

在RI中可以\\1用来引用捕获组。但是,在使用stringi软件包时,此操作无法按预期工作。

library(stringi)

fileName <- "hello-you.lst"
(fileName <- stri_replace_first_regex(fileName, "(.*)\\.lst$", "\\1"))

[1] "1"
Run Code Online (Sandbox Code Playgroud)

预期输出:hello-you

文档中,我找不到与该问题有关的任何内容。

backreference r stringi

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

关于记录JavaScript的问题:JS类型

考虑到我将来会与一个更大的团队合作,我正在尝试自学一些前端语言的基本注释和文档原则.目前我正在研究JS.

在大多数情况下,我使用Google的风格指南作为首选,但我仍然有一些问题.

假设我有一个像这样的ajax函数:

function initFunction(src, wrapper) {
  $.getJSON(src, {
    format: "json"
  }).done(function(data) {
    var wrapper = $(wrapper),
      contents = callAnotherFunction($(data)[0]);

    // Populates the wrapper element.
    wrapper.append(contents );

  }).fail(function(jqXHR, textStatus, errorThrown) {
    alert(textStatus + ": " + errorThrown);
  });
}
Run Code Online (Sandbox Code Playgroud)

该函数有两个@param,src和包装器.这是一些问题.

然后,callAnotherFunction()将Object作为参数,它应该返回一些HTML.

  1. 什么是src的类型?考虑到它的JSON, {Object}
  2. 什么是包装类型?考虑到它是一个像"#myId"String 这样的值?
  3. 这个函数的返回类型是什么?这是一个无效函数,但我不知道我称之为返回类型.它会返回null吗?
  4. 你可以附加到元素的HTML类型是什么?是一个String吗?
  5. 显示所有这些的JSDoc约定是什么?像这样的东西?

/** * This is a description of this function. It gets a JSON file, uses it as * a jQuery object, …

javascript conventions naming-conventions

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

GitHub:在本地处理两个分支

我正在使用适用于 Windows 的 GitHub 应用程序,它运行良好。但是,我很困惑如何在本地文件上同时在多个分支上工作。

假设我将存储库克隆到 C:\github,如果我创建一个新分支,我的文件结构没有任何变化。这意味着每当我更改文件时,它也应该为 master 分支更改,对吗?

如何在我的机器上本地有两个分支,我可以单独工作,而没有任何冲突。那么当我在分支 A 中更改文件 X 时,X 在主分支中没有更改?

  • 请注意,我对 GitHub 和 GH 桌面很陌生。
  • 注意我说的是文件系统,而不是提交。

git github

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

在Java中,创建可以放置和移动对象的2D地图

我是Java的新手,我正在尝试制作一个基于2D文本的游戏,该游戏内部包含一个世界地图,类的实例可以在该世界地图上进行交互和移动。但是,一开始我已经很困惑。假设我要一张3x3的地图。然后,每个图块是多维数组中的值(例如,坐标[0] [2]上的图块)。但是,每个图块(即地图上的坐标)必须是类的实例化数组(例如,图块对象(森林,地面,沙漠)或实体(人,岩石,鸭)。至少包含一个元素(砖块对象(森林,地面,沙漠),但理论上可以包含无限多个实体)。

我在这里尝试并结合了一些答案。当前的想法是制造一个只有坐标的超类实体。创建实体(给定一些坐标)后,该对象将在该位置链接到世界地图(似乎无效)。世界地图是可以容纳实体的多维数组。

如您所见,该实体尚未链接到世界地图,我不知道为什么不这样做。在Entity.java和World.java文件中肯定是错的,但是我仍然不确定如何在世界地图上设置位置。请注意,稍后我需要设置,更改实体在地图上的位置,或从整体上删除实体(包括实体在地图上的位置)。

java arrays multidimensional-array

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

你必须添加未实现的方法吗?

我正在尝试为JFrame关闭操作添加一个监听器:

addWindowListener(new WindowListener() {
    @Override
    public void windowClosing(WindowEvent e) {
        setVisible(false);
    }
});
Run Code Online (Sandbox Code Playgroud)

问题是Eclipse一直告诉我必须"添加未实现的方法",我认为它来自于WindowListener.但是,我很困惑,为什么你需要实现所有这些其他方法,如果你只需要覆盖一个?如果我确实添加了所有其他方法,但不要在其中添加任何内容,例如

@Override
public void windowActivated(WindowEvent e) {}
Run Code Online (Sandbox Code Playgroud)

这个方法的默认行为会丢失吗?或者,如果我在方法中写一些内容,它是否只会被覆盖?

java swing windowlistener

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

使用 Prolog 在 CLP(R) 中编写递归函数的正确方法

我对 CLP 在 Prolog 中的工作方式感到非常困惑。我不仅发现很难看到好处(我确实在特定情况下看到了它,但发现很难概括这些好处),而且更重要的是,我几乎无法弥补如何正确编写递归谓词。以下哪一项是 CLP(R) 方式的正确形式?

factorial(0, 1).
factorial(N, F):- {
  N > 0,
  PrevN = N - 1,
  factorial(PrevN, NewF),
  F = N * NewF}.
Run Code Online (Sandbox Code Playgroud)

或者

factorial(0, 1).
factorial(N, F):- {
  N > 0,
  PrevN = N - 1,
  F = N * NewF},
  factorial(PrevN, NewF).
Run Code Online (Sandbox Code Playgroud)

换句话说,我不确定何时应该在约束之外编写代码。对我来说,第一种情况似乎更合乎逻辑,因为PrevN并且NewF属于约束条件。但如果这是真的,我很想知道在什么情况下在递归函数中使用约束之外的谓词是有用的。

recursion prolog clp clpr

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