小编Rya*_*axe的帖子

当事情发生时调用jQuery

所以我使用jQuery Masonry,我想在每次加载帖子时调用一些jQuery:

function manipulate(id) {
    $(id).each(function(){
    if($(this).height()>200){
        $('#container2').append(this);
    } else{
        $('#container').append(this);
    };
  });
};
Run Code Online (Sandbox Code Playgroud)

因此,我希望每次加载Masonry容器中的下一个项目时调用此函数.这样它以正确的方式操纵项目.我怎么做?

更新:砌体的描述

Masonry是一个Javascript插件,就像CSS浮动强制完美契合+无限滚动.如果没有无限滚动,它会完全隐藏第1页上不会出现的所有内容,然后在必要时加载它们.这意味着我的功能不会影响任何隐藏的项目,只要Masonry加载下一组项目以便它们出现在正确的位置,就需要调用它.这可能意味着在不了解砌体的情况下,您不一定能够解决我的问题,但您仍然可以.最后,Masonry将物品"追加"到砌体容器中,然后"显示"它们.所以我想我需要做的是将它们附加到砌体容器后附加到正确的容器上,但是在它被显示之前.

砌体代码:

$(window).load(function(){
  var $wall = $('#container');
  $wall.imagesLoaded(function(){
    $wall.masonry({
      itemSelector: '#entry, #entry_photo',
      isAnimated : false
    });
  });

  $wall.infinitescroll({
    navSelector    : '#page-nav',  
    nextSelector   : '#page-nav a',
    itemSelector   : '.entry, .entry_photo',
    bufferPx       : 2000,
    debug          : false,
    errorCallback: function() {
      $('#infscr-loading').fadeOut('normal');  
    }},
    function(newElements) {
      var $newElems = $(newElements);
      $newElems.hide();
      $newElems.imagesLoaded(function(){
        $wall.masonry( 'appended', $newElems,{isAnimated: false}, function(){$newElems.fadeIn('slow');} );
      });
    }); $('.entry').show(500);
  });
Run Code Online (Sandbox Code Playgroud)

我已经尝试将该函数放入Masonry块中,甚至作为$newElems函数来查看当更多图像加载时它是否会起作用,但它没有,并且实际上有点打破了它.

我怎样才能让它通过我的jQuery运行Masonry加载的所有新元素,以便它们被附加到正确的容器中?

javascript jquery jquery-masonry

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

Python内置异常使用

我相信你很清楚,python和大多数编程语言一样,都带有内置异常.我已经浏览了这个列表,并且不能推断哪个是合适的.当然我可以做出我自己的例外,但这是一个相当标准的错误,将被排除在外.

这是基于实例关系的错误.类的实例与其他一些实例相关.可以根据不同的连接进行计算.raise如果尝试对不相关的实例进行计算,则此错误将为d.

class Foo:
    def __init__(self,related=None):
        '''related is a list of Foo instances'''
        if related is not None:
            self.related = related
        else:
            self.related = []
    def compute(self,instance):
        if instance in self.related:
            #execute code
        else:
            raise SomeError("You cannot make a computation with an unrelated instance")
Run Code Online (Sandbox Code Playgroud)

我的想法

说实话,似乎ValueError最有意义,因为价值是不允许的,但由于某种原因,这并不能完全适合我.没有关系的事实是这个错误的重要性,而不仅仅是不允许尝试的值这一事实.

我的逻辑是否有比ValueError更好的异常?

注意:我知道这ValueError可能是正确的答案,但我很好奇是否有更精确的东西,当我浏览文档时,我可能无法看到它的连接.

python exception

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

重新索引错误毫无意义

我的DataFrames尺寸在100k到2m之间.我正在处理这个问题的那个很大,但请注意我必须对其他帧做同样的事情:

>>> len(data)
357451
Run Code Online (Sandbox Code Playgroud)

现在这个文件是通过编译许多文件创建的,所以它的索引真的很奇怪.所以我想做的就是重新索引它range(len(data)),但是我得到了这个错误:

>>> data.reindex(index=range(len(data)))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/frame.py", line 2542, in reindex
    fill_value, limit)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/frame.py", line 2618, in _reindex_index
    limit=limit)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/index.py", line 893, in reindex
    limit=limit)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/index.py", line 812, in get_indexer
    raise Exception('Reindexing only valid with uniquely valued Index '
Exception: Reindexing only valid with uniquely valued Index objects
Run Code Online (Sandbox Code Playgroud)

这实际上没有任何意义.由于我使用包含数字0到357450的数组重新索引,因此所有Index对象都是唯一的!为什么会返回此错误?

额外信息:我使用的是python2.7和pandas 11.0

python indexing pandas

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

Django禁用模型删除

因此,每个模型都具有一些常用功能,例如保存删除

删除通常会被覆盖以设置一个布尔字段,例如设置为is_activefalse,这样数据就不会丢失。但是有时存在一个模型,该模型具有的信息一旦创建,就应该始终存在,甚至永远都不会失效。我想知道处理该模型方法的最佳实践delete是什么?

主意

使它变得毫无用处:

def delete(self):
    return False
Run Code Online (Sandbox Code Playgroud)

但这似乎很奇怪。是否可以Meta选择禁用删除功能?有什么“不错”的方法吗?

python django

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

计算从颜色A到颜色B的色调旋转

看看下面的CSS:

.colorA{
    color:#ff0000;
}
.colorB{
    color:#ab123f;
}
.sameAsColorB{
    color:#ff0000;
    -webkit-filter:hue-rotate(...);
}
Run Code Online (Sandbox Code Playgroud)

目标是:给定两个十六进制代码颜色,如何计算旋转度以将第一个转换为第二个?如果这不能总是通过色调旋转来完成,它可以采用什么方式?

css colors

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

将opencv安装到虚拟环境中

我需要在虚拟环境中的项目中使用opencv,但是不能使用pip安装opencv.

安装在我的本地机器(OSX Yosemite,版本10.10.1)与自制软件工作正常,但我不能在我的virtualenv做"brew安装".

如何在我的环境中包含opencv?

python install virtualenv

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

无负载图像的无限滚动

我到处寻找尝试找出如何使用无限滚动而没有加载图像,但我找不到它.这是你如何设置它加载文字和图像:

loading: {
    img: "/img/loading.gif",
    msgText: "Loading new posts..."
}
Run Code Online (Sandbox Code Playgroud)

如果我设置msgText''那时将没有文本,但我似乎无法对加载图像做同样的事情,好像我将其设置为空白字符串,它将显示错误图像图像.

如何在没有加载图像的情况下使用无限滚动?

无限滚动

请注意,加载图像和文本在该页面上的语法不正确,您可以在此处查看正确的语法

javascript jquery image infinite-scroll

4
推荐指数
2
解决办法
5934
查看次数

pygame key.set_repeat 不起作用

我是 pygame 的新手,我正在尝试制作乒乓球以学习它。我正在尝试进行平滑控制,以便按住箭​​头会起作用,但它现在不起作用。

import sys, pygame
pygame.init()
size = (500, 350)
screen = pygame.display.set_mode(size)
x = 1
xwid = 75
yhei = 5
pygame.key.set_repeat(0, 500)
while True:
    vector = 0
    for event in pygame.event.get():
        if event.type == pygame.QUIT: sys.exit()
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                vector = 4
            elif event.key == pygame.K_LEFT:
                vector = -4
    pygame.draw.rect(screen,(255,255,255),(x,size[1] - yhei,xwid,yhei),0)
    pygame.display.update()
    screen.fill((0,0,0))
    x += vector
    if x <= 0:
        x = 0
    elif x >= size[0] - xwid:
        x = …
Run Code Online (Sandbox Code Playgroud)

python pygame

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

Python非常动态的类属性

要在类中创建属性,您只需执行此操作self.property = value.我希望能够让这个类中的属性完全依赖于参数.让我们称这个班Foo.

Foo该类的实例将采用元组列表:

l = [("first","foo"),("second","bar"),("anything","you get the point")]
bar = Foo(l)
Run Code Online (Sandbox Code Playgroud)

现在Foo我们分配的类的实例bar将具有以下属性:

bar.first
#foo
bar.second
#bar
bar.anything
#you get the point
Run Code Online (Sandbox Code Playgroud)

这甚至可以远程实现吗?怎么样?

python class

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

Django多对多字段导致错误

我创建了一个将对象添加到模型的函数.它看起来像这样:

def add_objects(self,obj_name_list):
    for obj in obj_name_list:
        o = Obj.objects.create(name=obj)
        self.objs.add(o)
        self.save(update_fields['objs'])
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我收到以下错误:

ValueError:此模型中不存在以下字段,或者是m2m字段:objs

错误来自save()通话,但我不明白为什么......在你的回答中请详细解释.谢谢!

这是追溯

.../models.pyc in add_objects(self, obj_name_list)
    125                                 o = Obj.objects.create(name=obj) #create the tag
    126                                 self.objs.add(o) #add the new tag to the foreign key
--> 127                                 self.save(update_fields=['objs'])
    128                 except TypeError:
    129                         raise TypeError("You can only add objects as a string or list")

.../models.pyc in save(self, *args, **kwargs)
     95                 if not self.pk:
     96                         is_created = True
---> 97                 super(Model, self).save(*args, **kwargs)
     98                 if is_created:
     99                         signals.model_created.send(sender=self.__class__) …
Run Code Online (Sandbox Code Playgroud)

python django many-to-many python-2.7

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