小编Poi*_*nty的帖子

用白色背景替换PNG图像中的透明度

我有一些透明的PNG图像,我需要创建版本,图像层组成一个白色背景.我已尝试使用Image Magick"转换"操作进行各种操作,但要么根本没有发生任何事情,要么我收到错误.我不想转到中间JPG表单,因为我不想要这些工件.当然,在Gimp或Photoshop或其他任何地方都很容易做到这一点,但我真的宁愿从命令行编写它,因为有很多这样的东西.

非工作Image Magick命令的示例是:

convert img1.png -background white -flatten img1-white.png
Run Code Online (Sandbox Code Playgroud)

这会导致错误.

谢谢!

png imagemagick alpha-transparency

273
推荐指数
9
解决办法
18万
查看次数

JSlint:意外'换'

我一直在测试单选按钮.一切似乎没问题,直到我通过JS lint运行它.我修复了除一个之外的所有错误

出乎意料的'为'

for (i = 0; i < radios.length; i += 1) {
Run Code Online (Sandbox Code Playgroud)

这是我的Javascript:

/*global body,window,document,alert*/
(function () {
"use strict";

var UIlogic;

UIlogic = {
    myLoad: function () {
        var elems, elemText, btn1, winter, summer, fall, spring, header, btns;

        winter = "<div><input type='radio' name='cb' id='cbA' value='0'/><label for='cbA'>Winter</label></div>";
        summer = "<div><input type='radio' name='cb' id='cbB' value='1'/><label for='cbB'>Summer</label></div>";
        fall = "<div><input type='radio' name='cb' id='cbC' value='2'/><label for='cbC'>Fall</label></div>";
        spring = "<div><input type='radio' name='cb' id='cbD' value='3'/><label for='cbD'>Spring</label></div>";

        header = "Header";

        btns = "<br /><button …
Run Code Online (Sandbox Code Playgroud)

javascript jslint

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

jQuery scrollTop()似乎不适用于Safari或Chrome(Windows)

我有一个简单的设置,允许加载"帮助"式窗口并滚动到页面上的特定点.或多或少的代码看起来像这样:

var target = /* code */;
target.offsetParent().scrollTop(target.offset().top - fudgeValue);
Run Code Online (Sandbox Code Playgroud)

滚动的目标和软糖值由页面上的一些提示确定,我对这个机制的任何部分都没有任何问题.在Firefox和IE8中,上面的代码与我想要的完全一样:滚动框(在这种情况下,页面正文)正确地将包含的东西滚动到窗口中的正确位置,当它被告知这样做时.

但是,在Chrome和Safari中,对scrollTop()的调用显然什么都不做.所有数字都没问题,目标指向正确的东西(而offsetParent()确实是正文元素),但什么也没发生.据我所知,谷歌搜索,这应该是有效的.Safari和Chrome下的渲染器有什么有趣的吗?

如果重要的话,这是jQuery 1.3.2.

测试页面:http://gutfullofbeer.net/scrolltop.html

javascript safari jquery

39
推荐指数
5
解决办法
10万
查看次数

是否可以参数化nunit测试

我想编写一个可调用的函数来接受两个对象,并将这些对象的30多个属性与断言进行比较.问题是需要对大约20个现有单元测试和大多数未来测试进行此操作,并且每次写出30多个断言都耗费时间和空间.

我目前有一个非单元测试函数,用于比较对象,并返回带有"pass"或失败消息的字符串,并使用断言在每个单元测试中验证.然而,它非常混乱,我觉得我反对正确的单元测试方法.

有没有办法制作一个可以从使用断言来检查条件的单元测试中调用的函数?

c# nunit

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

Java接口和返回类型

考虑我有以下界面:

public interface A { public void b(); }
Run Code Online (Sandbox Code Playgroud)

但是我希望实现它的每个类都有一个不同的方法b()的返回类型.

例子:

public class C { 
  public C b() {} 
}

public class D { 
  public D b() {} 
}
Run Code Online (Sandbox Code Playgroud)

我如何定义我的界面以便这可能?

java generics types return interface

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

在jquery中设置文本

如果我想将a的文本设置<div id="error"></div>为"在这里测试消息",我会这样做:

 $('<div id="error">').text('Test message here');
Run Code Online (Sandbox Code Playgroud)

我尝试过这个并没有用.思考?

jquery

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

GNU awk:在替换文本中访问捕获的组

这看起来应该很简单,但awk gensub/gsub/sub行为对我来说一直不清楚,现在我无法让它做文档说应该做的事情(以及有多少经验)其他类似的工具建议应该工作).具体来说,我想从替换字符串中的正则表达式访问"捕获的组".这是我认为awk语法应该是:

awk '{ gsub(/a(b*)c/, "Here are bees: \1"); print; }'
Run Code Online (Sandbox Code Playgroud)

那应该把"abbbc"变成"这里有蜜蜂:bbb".在Ubunutu 9.04中,它至少不适合我.相反,"\ 1"呈现为^ A; 也就是说,代码的字符1.当然不是我想要的.我该怎么做呢?

谢谢.

gawk

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

IE8 web字体iframe bug变通办法

这个博客文章(那里有点讨厌的页面)(顺便说一下,这不是我的博客)描述了我昨天在Internet Explorer 8中遇到的一个奇怪的错误.该bug涉及.EOT网络字体和<iframe>元素.

我没有广泛研究错误的确切触发器,但基本上是这样的情况:使用网页字体加载内容以<iframe>使框架使用网络字体的页面被浏览器"污损".使用Web字体呈现的先前正常文本突然转变为看起来很糟糕的Arial或其他东西,单独排序.有时它会翻转,只会在鼠标移动等随机用户交互中再次降级.

那篇博文有一个例子.澄清一下,它是包含在内的页面,而不是页面中的内容<iframe>(至少,根据我的经验,情况就是如此).

是否有人找到了比该博客中建议的更好的解决方法,即强制<link>@font-face声明到来的"重新加载"CSS 元素?(我可以做到这一点,但这只是一个小小的痛苦,而且它会迫使我将我的字体设置移出我的文档<head>,如果我记得这是一个性能问题;我将不得不四处寻找并再次发现这一点. )

编辑 - 更新

好的,这是一个测试页面.这是主(容器)页面:

<!DOCTYPE html>
<html>
  <head>
    <style id='font_style'>
      @font-face {
        font-family: 'bold-display';
        src: url('DejaVuSans-Bold.eot');
      }
    </style>
    <style>
      .fancy { font-family: bold-display, "franklin gothic medium", "verdana", sans-serif; font-size: 32px; }
      iframe { width: 500px; height: 200px; }
      #floater {
        position: absolute;
        top: 100px; left: 100px;
        display: none;
      }
      #floater.showing {
        display: block;
      }
    </style> …
Run Code Online (Sandbox Code Playgroud)

css iframe rendering font-face internet-explorer-8

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

当浏览器失去焦点时,Chrome(可能是Safari?)会在输入字段上激活两次"模糊"

这是一个有趣的jsfiddle.

在Firefox中:

  1. 跑小提琴
  2. 单击文本输入
  3. 点击其他地方.应该说"1模糊".
  4. 再次单击文本输入.
  5. ALT-TAB到另一个窗口.小提琴现在应该说"2次模糊".

在Chrome中,在第5步,它显示"3次模糊".当整个浏览器失去焦点时,会触发两个单独的"模糊"事件.这是有意义的,因为它意味着在"模糊"处理程序中假设元素实际上在调度事件之前具有焦点是不安全的; 也就是说,失去焦点 - 从"聚焦"到"不在焦点"的过渡 - 是事件发生的原因.当生成两个 "模糊"事件时,在处理第二个事件期间不满足该条件,因为该元素已经不在焦点上.

这只是一个错误吗?有没有办法告诉"模糊"事件是假的?

javascript safari google-chrome javascript-events

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

jQuery camel-case映射从"data-"属性名称到".data()"键

如果在元素上放置"data-"属性:

<div id='x' data-key='value'>
Run Code Online (Sandbox Code Playgroud)

然后你可以通过jQuery".data()"方法获取值:

alert($('#x').data('key')); // alerts "value"
Run Code Online (Sandbox Code Playgroud)

该库使用一致的驼峰转换器来处理带有嵌入破折号的属性名称:

<div id='x' data-hello-world="hi">

alert($('#x').data("helloWorld"));
Run Code Online (Sandbox Code Playgroud)

camel-case转换器是一个jQuery"全局"函数:

alert($.camelCase("hello-world")); // alerts "helloWorld"
Run Code Online (Sandbox Code Playgroud)

但是,当属性名称的名称包含由短划线包围的单个字母时,这一切都会崩溃:

<div id='x' data-image-x-offset='50px'>

alert($('#x').data('imageXOffset')); // undefined
Run Code Online (Sandbox Code Playgroud)

这有点奇怪,因为:

alert($.camelCase('image-x-offset')); // "imageXOffset"
Run Code Online (Sandbox Code Playgroud)

那有什么不对?我认为它与用于转向另一个方向的机制有关,将已经驼峰式的名称转换回虚线形式.但是我无法在代码中找到它.

似乎在1.6.2和1.6.3中相同.(顺便说一下,"image-x-offset"形式可用于获取数据.)

编辑 - 如果,对于给定的元素,您尝试驼峰形式之前通过虚线形式访问,那么它可以工作(并告诉我这绝对是一个错误 :-)

javascript jquery

19
推荐指数
1
解决办法
9102
查看次数