小编Stu*_*tuR的帖子

将类切换绑定到窗口滚动事件

当用户将浏览器窗口滚动到某个点以下时,我正在切换#page div的类.

到目前为止我所做的工作正常:

http://jsfiddle.net/eTTZj/29/

<div ng-app="myApp" scroll id="page">

    <header></header>
    <section></section>

</div>

app = angular.module('myApp', []);
app.directive("scroll", function ($window) {
    return function(scope, element, attrs) {
        angular.element($window).bind("scroll", function() {
             if (this.pageYOffset >= 100) {
                 element.addClass('min');
                 console.log('Scrolled below header.');
             } else {
                 element.removeClass('min');
                 console.log('Header is in view.');
             }
        });
    };
});
Run Code Online (Sandbox Code Playgroud)

(当他们在标题下方滚动窗口时,100px,该类被切换)

虽然,如果我错了,请纠正我,我觉得这不是用Angular做这件事的正确方法.

相反,我认为执行此操作的最佳方法是使用ng-class并在范围中存储布尔值.像这样的东西:

<div ng-app="myApp" scroll id="page" ng-class="{min: boolChangeClass}">

    <header></header>
    <section></section>

</div>

app = angular.module('myApp', []);
app.directive("scroll", function ($window) {
    return function(scope, element, attrs) {
        angular.element($window).bind("scroll", function() {
             if (this.pageYOffset >= 100) …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive

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

简单的libxml2 HTML解析示例,使用Objective-c,Xcode和HTMLparser.h

请有人向我展示一个使用libxml解析一些HTML的简单示例.

#import <libxml2/libxml/HTMLparser.h>

NSString *html = @"<ul>"
    "<li><input type=\"image\" name=\"input1\" value=\"string1value\" /></li>"
    "<li><input type=\"image\" name=\"input2\" value=\"string2value\" /></li>"
  "</ul>"
  "<span class=\"spantext\"><b>Hello World 1</b></span>"
  "<span class=\"spantext\"><b>Hello World 2</b></span>";
Run Code Online (Sandbox Code Playgroud)

1)假设我想解析name = input2的输入值.

应该输出"string2value".

2)假设我想解析class = spantext的每个span标记的内部内容.

应输出:"Hello World 1"和"Hello World 2".

xcode objective-c html-parsing libxml2

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

UICollectionViewCell填充

我试图在集合视图单元格上设置零填充,我在视图控制器上设置了"Min Spacing":

在此输入图像描述

然而,细胞之间仍然存在差距:

在此输入图像描述

我也喜欢它,以便细胞根据框架的宽度很好地包裹,例如每个单元格宽50px,所以如果有六个单元格并且我将框架宽度设置为150px,它将显示两行三细胞.

然而,如果我通过执行以下操作将帧宽度设置为150:

- (void)viewDidLoad
{
    [super viewDidLoad];

    CGRect frame = self.collectionView.frame;
    frame.size.width = 150;
    self.collectionView.frame = frame;
}
Run Code Online (Sandbox Code Playgroud)

它看起来像在上面的屏幕截图(太宽).

如果我把它设置为像10这样可笑的小东西,它会在某种程度上包裹起来:

在此输入图像描述

UICollectionViewCell设置为50 x 50:

在此输入图像描述

我还尝试以编程方式设置单元格的大小,还删除了UIEdgeInset:

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
    return UIEdgeInsetsMake(0, 0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

我已禁用自动布局,只是有任何干扰.关于如何移除衬垫并根据框架宽度/高度进行包装的任何建议?

objective-c uicollectionview uicollectionviewcell

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

无法找到json的输入类 - 在Active Admin中处理JSON类型

我的模型中有一个JSON类型,它来自Postgres,迁移看起来像:

create_table :people do |t|
  t.string :name
  t.json :links
end
Run Code Online (Sandbox Code Playgroud)

此JSON对象的结构如下所示:

{ 
  "facebook" : "u12345",
  "google" : "u54321"
}
Run Code Online (Sandbox Code Playgroud)

在Active Record中,我试图显示此对象,以便可以编辑它们,或者可以添加新的键/值:

  form do |f|
    f.inputs "Person Details" do
      f.input :name
      f.input :links <- Error here because active admin doesn't recognise JSON type
    end
    f.actions
  end
Run Code Online (Sandbox Code Playgroud)

当我从活动管理员编辑人员条目时,我得到"无法找到json的输入类".

我喜欢它,以便json结构中的每个键成为输入的标签,例如:

          __________
Facebook | u12345   |
          ??????????
          __________
Google   | u54321   |
          ??????????
          __________
Twitter  |          |
          ??????????
Run Code Online (Sandbox Code Playgroud)

在我的活动管理表单块中,我想指定3/4预定义的键,比如facebook,google,twitter,如果来自模型的JSON结构中不存在其中一个键,它将显示为空输入,允许管理员为该键添加值,并将其保存回数据库.如果密钥确实存在于JSON结构中,则将使用其值填充输入,以便可以对其进行编辑.

所以我的问题是如何从主动管理员简单地管理/编辑JSON结构,并以上述格式表示数据?

postgresql json activeadmin ruby-on-rails-4

7
推荐指数
2
解决办法
2452
查看次数

Mongoose/MongoDB - 使用预定义模式附加到文档对象数组的简单示例

为了简单起见,假设这些是我的集合模式:

var MessageDeliverySchema = new Schema({
    from   : { type : String },
    to     : { type : String },
    status : { type : String }
});

var Messages = mongoose.model('messages',
new Schema({
    id              : ObjectId,
    user            : { type:String },
    'sent-messages' : [MessageDeliverySchema]
}));
Run Code Online (Sandbox Code Playgroud)

因此,集合Messages中的每个文档可能具有MessageDeliverySchema定义的4/5个已发送消息.

我想要做的是有一系列已发送消息,因此每次发送收据时我都会更新消息并附加另一封已发送消息.

我尝试过的:

var delivered = {
from: 'foo',
to: 'bar',
status: 'delivered'
};

Message.update({_id: '5064aae4154cb34d14000001' },
        {$pushAll: { 'sent-messages' : delivered }} , {upsert:true}, function(err, …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb database-schema

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

Internet Explorer"setAttribute"onclick解决方法?

var tr = document.createElement('tr');
tr.setAttribute("onclick",p.onrowclick+"("+row.id+")");
Run Code Online (Sandbox Code Playgroud)

嗨,以上在Firefox中对我来说很好.我在IE中找不到正确的解决方法语法.

我正在使用IE8.

javascript internet-explorer onclick setattribute

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

jQuery Ajax/.each回调,在ajax完成之前接下来的'each'触发

嗨,当我提交表单时,会调用以下Javascript.它首先从文本区域中分割出一堆url,然后:

1)为每个网址添加一个表格行,并在最后一列("状态"列)中显示"未启动".
2)再次循环遍历每个url,首先关闭它进行ajax调用以检查状态(status.php),该状态将返回0-100的百分比
.3)在同一循环中,它通过ajax启动实际进程(process.php),当进程完成时(记住连续状态更新),它将在状态列中显示"已完成"并退出auto_refresh.
4)然后它应该转到下一个'each'并为下一个url做同样的事情.

function formSubmit(){

    var lines = $('#urls').val().split('\n');

    $.each(lines, function(key, value) {
        $('#dlTable tr:last').after('<tr><td>'+value+'</td><td>Not Started</td></tr>');
    });

    $.each(lines, function(key, value) {

        var auto_refresh = setInterval( function () {
            $.ajax({
              url: 'status.php',
              success: function(data) {
            $('#dlTable').find("tr").eq(key+1).children().last().replaceWith("<td>"+data+"</td>");
              }
            });
        }, 1000);

        $.ajax({
          url: 'process.php?id='+value,
          success: function(msg) {
        clearInterval(auto_refresh);
        $('#dlTable').find("tr").eq(key+1).children().last().replaceWith("<td>completed rip</td>");
          }
        });

    });

}
Run Code Online (Sandbox Code Playgroud)

javascript ajax each jquery asynchronous

5
推荐指数
2
解决办法
5348
查看次数

MySQL Left Join Subselect

我有一个简单的语言/模板ID表:

语言| 模板

en,t1
en,t1
au,t2
ge,t3
en,t1
ge,t2
ge,t3

模板始终为t1,t2或t3.总共有3种语言:en,au,ge.

表中有更多信息,我只是展示与此问题相关的内容,我将使用数据进行绘图,因此需要以这种格式返回:

en,t1,3
en,t2,0
en,t3,0
au,t1,0
au,t2,1
au,t3,0
ge,t1,0
ge,t2,1
ge,t3,2

然而,这会计算每种语言中出现的许多模板.但是,如果表中没有该特定语言的模板ID,我遇到的问题是返回零计数.

我认为它需要在模板ID上进行某种左连接子选择以确保为每种语言返回3个模板ID?

mysql subquery left-join

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

Javascript十进制到二进制 - 64位

十进制-805306368的二进制文件是:

11111111111111111111111111111111 11010000000000000000000000000000

但是,在Javascript中我得到以下内容:

   var str = parseInt(-805306368).toString(2);
   document.write(str);
Run Code Online (Sandbox Code Playgroud)

-110000000000000000000000000000

任何人都可以解释如何从这个十进制解析64位二进制字符串?

javascript binary decimal

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

Python cv2 HoughLines网格线检测

我在图像中有一个简单的网格,我试图确定网格大小,例如6x6,12x12等.使用Python和cv2.

在此输入图像描述

我正在用上面的3x3网格测试它,我计划通过在图像中检测它们来计算有多少垂直/水平线来确定网格大小:

import cv2
import numpy as np

im = cv2.imread('photo2.JPG')
gray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)

imgSplit = cv2.split(im)
flag,b = cv2.threshold(imgSplit[2],0,255,cv2.THRESH_OTSU) 

element = cv2.getStructuringElement(cv2.MORPH_CROSS,(1,1))
cv2.erode(b,element)

edges = cv2.Canny(b,150,200,3,5)

while(True):

    img = im.copy()

    lines = cv2.HoughLinesP(edges,1,np.pi/2,2, minLineLength = 620, maxLineGap = 100)[0]

    for x1,y1,x2,y2 in lines:        
        cv2.line(img,(x1,y1),(x2,y2),(0,255,0),1)

    cv2.imshow('houghlines',img)

    if k == 27:
        break

cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

我的代码检测到这些行,如下所示,但是我的图像中每行都检测到多行:

在此输入图像描述

(图像中的每一行都有两条1px绿线)

我不能简单地将行数除以2,因为(取决于网格大小)有时只绘制一行.

如何更准确地检测并绘制原始图像中检测到的每一行的单行?

我调整了阈值设置,将图像缩小为黑白,但仍然有多行.我认为这是因为canny边缘检测?

python opencv numpy image-processing hough-transform

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