小编met*_*ion的帖子

如何在浏览器中规范化CSS3 Transition功能?

Webkit的转换结束事件称为webkitTransitionEnd,Firefox是transitionEnd,opera是oTransitionEnd.在纯JS中处理所有这些问题的好方法是什么?我应该做浏览器嗅探吗?或分别实施每一个?还有其他一些方法没有发生在我身上?

即:

//doing browser sniffing
var transitionend = (isSafari) ? "webkitTransitionEnd" : (isFirefox) ? "transitionEnd" : (isOpera) ? "oTransitionEnd";

element.addEventListener(transitionend, function(){
  //do whatever
},false);
Run Code Online (Sandbox Code Playgroud)

要么

// Assigning an event listener per browser
element.addEventListener("webkitTransitionEnd", fn);
element.addEventListener("oTransitionEnd", fn);
element.addEventListener("transitionEnd", fn);

function fn() {
   //do whatever
}
Run Code Online (Sandbox Code Playgroud)

javascript css dom-events css-transitions

89
推荐指数
5
解决办法
4万
查看次数

在mongoid中选择not null或empty的位置

我修改了一个模型,因此它包含一个新字段,例如......

field :url, :type => String

我使用activeadmin,所以当我创建一个新条目@model.url为空时,在更改模式之前创建的条目中它是零.我如何选择两者?我试过了:

# Returns nils and strings
Model.where(:url.ne => "").count 

# Returns strings and ""
Model.where(:url.ne => nil).count

# Returns strings, nils and ""
Model.where(:url.ne => ["", nil]).count 
Run Code Online (Sandbox Code Playgroud)

或者,如果有这种情况的最佳做法,请告诉我.

ruby-on-rails mongoid

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

在Ruby中将元素重新定位到数组的前面

即使来自javascript这对我来说看起来很残酷:

irb
>> a = ['a', 'b', 'c']
=> ["a", "b", "c"]
>> a.unshift(a.delete('c'))
=> ["c", "a", "b"]
Run Code Online (Sandbox Code Playgroud)

是否有更清晰的方法将元素放置在数组的前面?

编辑我的实际代码:

if @admin_users.include?(current_user)
  @admin_users.unshift(@admin_users.delete(current_user))
end
Run Code Online (Sandbox Code Playgroud)

ruby

19
推荐指数
6
解决办法
7472
查看次数

jQuery在元素内部检测mousedown,然后在元素外部进行mouseup

我有类似于绘图画布的东西,我在mouseup上捕获它的状态以进行撤消.画布不是全屏,因此您可以使用画笔绘制并在画布外部释放.像这样的东西:

$("#element").mousedown(function(){
  $(document).mouseup(function(){
    //do something
  }); 
});
Run Code Online (Sandbox Code Playgroud)

但这当然不起作用.普通的$(document).mouseup也不起作用,因为我有许多其他UI元素,并且每次单击UI元素时它都会保存状态.

有任何想法吗?

javascript jquery event-handling

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

在SVG中存储多个元素并将它们用作CSS背景?

我想知道我是否可以在一个SVG文件中创建多个"画笔"并在我的CSS中使用它们.

现在我有一个SVG文件,其中有一个存储在"defs"中的渐变和一个绘制它的矩形.然后我将这个SVG文件用作我的CSS中的背景图像.它运作良好,但我宁愿没有一百万个独立的SVG文件.我想在单个SVG文件中将"画笔"组合在一起,就像CSS sprites或XAML一样.

有没有办法做到这一点?如果是这样,为CSS背景图像指定哪个SVG元素来使用svg文件的语法是什么?

谢谢你的帮助.

css svg css3

15
推荐指数
1
解决办法
1265
查看次数

如何在javascript中旋转数组中的矩阵

(披露,我主要是数学文盲).

我有这种格式的数组:

var grid = [
  [0,0], [0,1], [0,2], [0,3],
  [1,0], [1,1], [1,2], [1,3],
  [2,0], [2,1], [2,2], [2,3],
  [3,0], [3,1], [3,2], [3,3]
];
Run Code Online (Sandbox Code Playgroud)

我需要以90度的增量"旋转"它,所以它是这样的:

var grid = [
  [3,0], [2,0], [1,0], [0,0], 
  [3,1], [2,1], [1,1], [0,1], 
  [3,2], [2,2], [1,2], [0,2], 
  [3,3], [2,3], [1,3], [0,3] 
];
Run Code Online (Sandbox Code Playgroud)

如何在Javascript中完成此操作?

javascript math matrix

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

如何控制包含旋转文本的表格标题单元格的宽度?

在玩这样的CSS之类的东西之前,我决定在我的脑海中玩了一个小时左右.基本上我试图在我的页面上有一个带有旋转文本的标题单元格.轮换似乎很简单 - 感谢stackoverflow社区! - 但是柱子的宽度对我不起作用.有没有人有任何提示让"整体满意度"栏目缩小?

Target适用于IE,虽然我很乐意在大浏览器中使用它.

你可以看到我的一些残羹剩饭乱搞它......每个TH细胞中的DIV,TR的高度等等.这些都不是我想要完成的.

旋转文本的重点是节省水平的不动产,从我所看到的,这是不会发生的.

这是我的简化尝试:

<style>
.rotate {
    padding: 0px 0px 0px 0px;
    margin: 0px;
}
.rotate div {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);

    writing-mode: bt-rl;

    padding: 0px 0px 0px 0px;
    margin: 0px;
    text-align: left;
    vertical-align: top;
}
</style>

<table border=1>
    <thead>
        <tr style="line-height: 200px">
            <th><div>Facility</div></th>
            <th><div>Date</div></th>
            <th><div>Score</div></th>
            <th class="rotate"><div>Overall&nbsp;Satisfaction</div></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Los Angeles</td>
            <td>11/12/2010</td>
            <td>3.5</td>
            <td>2.5</td>
        </tr>
        <tr>
            <td>San Diego</td>
            <td>11/17/2010</td>
            <td>10.0</td>
            <td>10.0</td>
        </tr>
    </tody>
</table>
Run Code Online (Sandbox Code Playgroud)

css css3

13
推荐指数
2
解决办法
8544
查看次数

获取所选选项的内部html

我有这样的事情:

select = document.getElementById("select");
select.onchange = function(){
  alert(this.value); //returns the selected value
  alert(this.innerHTML); //returns the entire select with all the options
  alert(this.selected.innerHTML); //this is what I want, but doesn't work, of course
};
Run Code Online (Sandbox Code Playgroud)

如何在纯js中获取所选选项的innerHTML?(没有框架).

javascript dom

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

Javascript中数学对象的速度

我正在开发一个javascript应用程序,它大量使用数学运算,每个鼠标移动几十个调用.我一直在研究其他人的代码作为起点,我经常找到原生javascript数学的解决方法,比如......

var pi = Math.PI
var distance = (x * x) + (y * y) / R * R
var pixels = ~~(x/y)
Run Code Online (Sandbox Code Playgroud)

使用Math对象会有显着的性能损失吗?如果是这样,有哪些常见的解决方法?

javascript

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

Object.create(Class.prototype)在这段代码中做了什么?

我正在阅读javascript中mixin模式,我遇到了一段我不理解的代码:

SuperHero.prototype = Object.create( Person.prototype );
Run Code Online (Sandbox Code Playgroud)

原始代码中实际上存在拼写错误(大写字母H).如果我将它包装下来就可以了.但是,如果我实际删除该行,一切似乎都是一样的.

这是完整的代码:

var Person =  function( firstName , lastName ){
  this.firstName = firstName;
  this.lastName =  lastName;
  this.gender = "male";
};

// a new instance of Person can then easily be created as follows:
var clark = new Person( "Clark" , "Kent" );

// Define a subclass constructor for for "Superhero":
var Superhero = function( firstName, lastName , powers ){

    // Invoke the superclass constructor on the new object
    // then …
Run Code Online (Sandbox Code Playgroud)

javascript

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