小编Sim*_*lGy的帖子

使用CSS来定位任何包含任何两个类的元素?

我们的生产环境使用的是与多个css类不兼容的自适应技术.这意味着在设置HTML样式时很容易忘记和使用两个类,并且一旦生成就让它中断.

我想使用CSS作为一种方式来突出显示有人忘记并意外地将两个类应用于元素.

这样的事情是我的意图,虽然当然这是无效的.它应该突出显示应用了两个类的任何元素:

.*.* { /* not valid (I wish) */
  outline:2px dotted red;
  }
Run Code Online (Sandbox Code Playgroud)

我知道如果我知道这个类就行了,问题是我要标记任何两个类:

.classA.classB { /* not good enough */
  outline:2px dotted red;
  }
Run Code Online (Sandbox Code Playgroud)

我知道我可以用JS和书签来做到这一点,也许这是唯一的解决方案.如果只有CSS可能会更好,因为它会自动为所有开发人员和QA标记内容.

css css-selectors css3

6
推荐指数
2
解决办法
560
查看次数

使用全局变量在Grunt中设置构建输出路径

我有几个笨拙的任务,我试图分享这些任务的全局变量,我遇到了问题.

我编写了一些自定义任务,根据构建类型设置正确的输出路径.这似乎是正确的设置.

// Set Mode (local or build)
grunt.registerTask("setBuildType", "Set the build type. Either build or local", function (val) {
  // grunt.log.writeln(val + " :setBuildType val");
  global.buildType = val;
});

// SetOutput location
grunt.registerTask("setOutput", "Set the output folder for the build.", function () {
  if (global.buildType === "tfs") {
    global.outputPath = MACHINE_PATH;
  }
  if (global.buildType === "local") {
    global.outputPath = LOCAL_PATH;
  }
  if (global.buildType === "release") {
    global.outputPath = RELEASE_PATH;
  }
  if (grunt.option("target")) {
    global.outputPath = grunt.option("target");
  }
  grunt.log.writeln("Output folder: …
Run Code Online (Sandbox Code Playgroud)

javascript gruntjs

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

更改angular-ui-router的url而不重新加载页面

我希望更改URL以驱动我的应用程序,并更改应用程序以更改 URL,但实际上不会更改状态.

我有这样的路线.国家/城市的例子有点做作,希望这不会混淆事情.实际应用程序中的关系有些分层.子视图似乎不合适,因为不需要嵌套视图.

$stateProvider.state( 'viewMap', {
  url: '/viewMap/:country/:city',
  templateUrl: 'pages/viewMap/viewMap.html',
  controller: 'ViewMapController'
};
Run Code Online (Sandbox Code Playgroud)

在ViewMapController中,我可以基于$stateParams.country和构造页面.city.当这些值发生变化时,我的应用程序会做出反应,我希望网址保持同步.但是,我不想重新加载整个页面.我只是想更新url并将历史状态推送到堆栈.

我明白我可以手动构造一个字符串:

updateUrl = function() {
 window.location.hash = '#/viewMap/'+ $stateParams.country +'/'+ $stateParams.city
}
Run Code Online (Sandbox Code Playgroud)

这感觉很脆弱,因为我构建字符串的方式与框架解析它的方式是分开的.我更喜欢框架根据当前的params为我构建一个字符串,但$state.href('.')描述了当前的路由,它不包括尚未激活/导航到的$ stateParams.

我也看过reloadOnSearch,但我认为它只适用于查询参数.

有没有更好的方法来模拟这个?感觉就像我在简单的事情上对抗框架.

angular-ui-router

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

可以为CALayer的Alpha设置动画,但不能设置backgroundColor的动画

我想为图层的背景色设置动画。我可以为Alpha设置动画,但不能为背景颜色设置动画。

作品:

var animation = CABasicAnimation(keyPath: "opacity")
animation.toValue = 0.6
animation.duration = 0.1
customCALayer.addAnimation(animation, forKey: nil)
Run Code Online (Sandbox Code Playgroud)

不起作用(无动画,无错误):

var animation = CABasicAnimation(keyPath: "backgroundColor")
animation.fromValue = UIColor.redColor().CGColor
animation.toValue   = UIColor.whiteColor().CGColor
animation.duration = 0.1
customCALayer.addAnimation(animation, forKey: nil)
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?backgroundColor 是可动画的属性

我已经阅读了几篇关于此的文章,但不了解我所缺少的内容。对于noop动画缺乏反馈很具挑战性,我不确定这是哪里出了问题。我已经尝试过将转换为AnyObjectNSValue用作包装器,但没有得到任何帮助。

相关答案(对我不起作用):

cabasicanimation swift

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

使用`sync`调度队列和使用带有.wait`标志的工作项之间的区别?

我正在学习Apple的GCD,并在Swift 3中观看视频并行编程与GCD.

在这个视频的16:00,DispatchWorkItem描述了一个标志.wait,并且功能和图表都显示了我的想法myQueue.sync(execute:).

等待图

所以,我的问题是; 有什么区别:

myQueue.sync { sleep(1); print("sync") }
Run Code Online (Sandbox Code Playgroud)

和:

myQueue.async(flags: .wait) { sleep(1); print("wait") }
// NOTE: This syntax doesn't compile, I'm not sure where the `.wait` flag moved to.
// `.wait` Seems not to be in the DispatchWorkItemFlags enum.
Run Code Online (Sandbox Code Playgroud)

似乎这两种方法在等待命名队列时阻塞当前线程:

  1. 完成任何当前或以前的工作(如果是连续的)
  2. 完成给定的块/工作项

我对此的理解必须在某处,我错过了什么?

grand-central-dispatch swift3

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

默认情况下,是DispatchQueue .serial还是.concurrent?

这就是问题,直截了当.

let serial = DispatchQueue(label: "serial", attributes: .serial)
let concurrent = DispatchQueue(label: "concurrent", attributes: .concurrent)
let q = DispatchQueue(label: "q")
Run Code Online (Sandbox Code Playgroud)

我看不到任何可以检查的财产q会告诉我.

在带有PlaygroundPage.current.needsIndefiniteExecution = trueshow连续行为的游乐场中运行,但我不想依赖于操场(有异步的东西),或者没有文档的行为.

任何人都可以通过文档链接提供硬答案吗?

cocoa grand-central-dispatch

6
推荐指数
2
解决办法
1862
查看次数

Xcode 8以不同的方式设置帧大小.我如何找到更多细节?

在我的应用程序的几个地方,我得到零帧大小,我曾经得到一个框架.特别是在通过执行cornerRadius创建圆形对象时,这会影响我size/2.

例如,在Xcode 7中这很好用:

class AvatarUIButton: UIButton {
  required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    layer.masksToBounds = true
    layer.cornerRadius = bounds.size.width / 2
  }
}
Run Code Online (Sandbox Code Playgroud)

但现在在Xcode 8中,我必须这样做:

class AvatarUIButton: UIButton {
  override var bounds: CGRect { didSet {
    layer.cornerRadius = bounds.size.width / 2
  }}

  required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    self.layer.masksToBounds = true
  }
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,变化可以说更好/更明显.我有另一种情况,在TableHeaderView上只涉及xcode 8的0帧不太孤立.

我正在寻找发布说明,邮件列表讨论或类似的讨论帧大小确定顺序的变化,以便我可以弄清楚改变了什么以及如何解决它.

uikit xcode8

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

当手机处于静音模式时,在我的后台应用上播放声音

我已经构建了一个计时器应用程序,我遇到的一个问题是当它背景时,如果用户关闭音量,我无法响铃.关闭音量或声音也会使通知静音,这是我用于在后台响铃的方法.

我刚买了一块瓷砖,发现它可以在静音时给你的手机打电话.我已经测试了它,它可以在iOS 9中运行,但我不确定如何复制这种行为.

iPhone如何在静音模式下响铃?后台刷新?动议和活动?别的什么?

现有技术:

iphone permissions uikit ios

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

单页Web应用程序是否应该与服务器或多个Web服务器保持一个Web Socket连接?

我正在开发一个将使用Web套接字的单页Backbone应用程序.该应用程序相当复杂,有6个或更多主要区域(屏幕).

Web套接字的语法似乎很简单,我现在想知道架构.

使用网络套接字时,采用第一种方法或第二种方法是否最佳?

1:在应用程序的任何屏幕或区域上为所有实时服务器通信打开单个websocket,然后在客户端过滤这些消息?

要么...

2:一次打开多个websockets,其中每个Web套接字代表应用程序中的某些功能区域

(我看过这个页面,但它是关于服务器端的,我对客户端感兴趣:WebSocket服务器的最佳实践是什么?)

更新:服务器正在使用Jetty(一种与Tomcat不同的Java技术).

javascript websocket backbone.js

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

清除卡住:悬停psuedoclass

由于webkit错误(我认为),有一种情况,我有一个卡住的:hover伪造的类.你可以在这里看到:http://jsfiddle.net/zFk2V/3/

拖放后,前一个元素:hover在Chrome中保持状态.如果您将鼠标悬停在卡住的项目上,则悬停状态会清除.

我认为应该可以使用事件触发,DOM重排触发或其他一些shenaniganary来清除元素的悬停状态.

我试过了:

$('[draggable]').trigger('mouseenter')
$('[draggable]').trigger('mousemove')
$('[draggable]').trigger('mouseout')
$('[draggable]').trigger('mouseleave')
$('[draggable]').trigger('blur')
$('[draggable]').trigger('hover')

$('[draggable]').toggleClass('selected')
$('[draggable]').toggleClass('selected') // twice to reset to original

$('[draggable]').height(true) // should trigger a DOM reflow
Run Code Online (Sandbox Code Playgroud)

......以及所有这些的不同组合,但没有成功

我甚至试过这个,我确信它会起作用,即使是不可接受的:

$('[draggable]').hide()
setTimeout(function(){
  $('[draggable]').show()
}, 10)
Run Code Online (Sandbox Code Playgroud)

这也行不通.:(

在所有情况下,:hover国家仍然存在.如果是铬检查器和视觉效果,您可以验证这一点.

我很想知道是否存在针对此的错误,或者是否有其他人听说过它.我发现的只是另一个问题在谈论它,答案是一个大锤.

css jquery html5 webkit

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