小编wna*_*jar的帖子

使用jQuery动画宽度时出现奇怪的"抖动"效果(仅限Chrome!)

li在一段简单的代码片段中使用jQuery 来动画元素的宽度.我正在使用它hover()作为处理程序并.animate()为宽度设置动画.这是我的代码.

$('li').each(function() {
    //store the original width of the element in a variable
    var oldWidth = $(this).width();
    $(this).hover(
        function() {
            //when the mouse enters the element, animate width to 900px
            $(this).animate({width: '900px'}, 600, 'linear')
        },
    function() {
            //when the mouse leaves, animate back to the original width
            $(this).animate({width: oldWidth}, 350, 'linear')
        }
   );
}); 
Run Code Online (Sandbox Code Playgroud)

代码非常简单,在Chrome中有一个奇怪的怪癖.当动画元素进出时,li元素会"摇晃",好像它们真的很冷,并且在颤抖.你可以在一个实例中看到这里的行为:http://missmd.org/(编辑:bug现已修复)

我之前使用jQuery动画了很多东西,从未见过这种行为.有没有解释它为什么会发生以及我如何解决它?我想知道是不是因为我已将元素向右浮动并向左侧动画.这个错误很令人抓狂,并且总体上对整个演示文稿有很大的影响(至少对我而言).之前有人见过这个吗?

编辑以澄清:它不是li"颤抖"它的内部文本的实际元素,当动画运行时,它会轻微地从左到右显着摇晃.我很难过.

编辑二:现在稍微摆弄CSS后我只能在Chrome中重现效果(对我来说是21.0.1180.60 beta-m).在Firefox中它按预期工作.它在IE中也很有用.非常具有讽刺意味的是Chrome(通常很棒这个东西)现在给我带来了麻烦. …

javascript jquery animation google-chrome html-lists

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

数据库迁移:自动增加外键故障

我正在尝试将一些数据从旧MySQL数据库简单迁移到新的MySQL数据库.我正在迁移的数据来自一个论坛,因此有两个表:threadsposts.我做得很好,直到遇到一些棘手的自动增加的外键关系.

数据库架构(简化为重要部分):

threads (id, title, user_id, created_at, updated_at)
posts (id, thread_id, user_id, body, created_at, updated_at)
Run Code Online (Sandbox Code Playgroud)

如您所见,thread_id是一个对应于id帖子所属线程的外键.这就是问题所在:新数据库中已经有线程和帖子,主键是自动递增的.不难看出问题是什么:两个数据集中的线程和帖子ID不匹配/将相互冲突!如果我只是填写了posts表,它们现在会对应错误的线程等.

如何解决这个问题,将旧数据集中的线程/帖子插入到新数据集中,而不会搞砸ids和关系?我想的方式:

  • 在旧的线程/帖子ID中添加一个大号,这样它们就不会与新的线程冲突
  • 我的尾巴在我的腿之间放弃并走开,认为这是不可能的

有没有一种简单的方法可以做到这一点,我错过了?"添加大量"方法对我来说似乎并不理想.数据库向导,请申请!解决方案将旧数据添加到新数据库,所有帖子仍属于正确的线程.

mysql sql database foreign-keys auto-increment

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

使用ACCOUNT_FORMS覆盖Django allauth登录表单

我已经使用简单的设置变量覆盖了注册表单,ACCOUNT_SIGNUP_FORM_CLASS但是要覆盖您需要使用的登录表单ACCOUNT_FORMS = {'login': 'yourapp.forms.LoginForm'}.我有我想要的形式,它与crispy-forms和Bootstrap3完美地显示:

class LoginForm(forms.Form):
    login = forms.EmailField(required = True)
    password = forms.CharField(widget = forms.PasswordInput, required = True)

    helper = FormHelper()
    helper.form_show_labels = False
    helper.layout = Layout(
        Field('login', placeholder = 'Email address'),
        Field('password', placeholder = 'Password'),
        FormActions(
            Submit('submit', 'Log me in to Cornell Forum', css_class = 'btn-primary')
        ),
    )
Run Code Online (Sandbox Code Playgroud)

当我提交表格时,我得到了AttributeError at /account/login/ - 'LoginForm' object has no attribute 'login'.这里出了什么问题?原始allauth登录表单的来源是:https://github.com/pennersr/django-allauth/blob/master/allauth/account/forms.py

python forms django django-forms django-allauth

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

Javascript:在本地存储一个整数数组,以便在其他地方访问它们?

这可能是一个非常快速的答案(或一个非常愚蠢的问题),但我正在尝试存储一个整数数组,以便随后可以通过另一个函数在本地访问它们.

到目前为止我想到的方法(及其缺点):

  • HTML5数据属性即data-ids="1,2,3"(不能在这些中轻松存储数组)
  • HTML5 localStorage(只能存储字符串,而不是数组,必须转换)
  • 一个隐藏的输入ie <input type="hidden">(再次,不能存储数组,必须转换为字符串)

理想情况下,我希望能够使用语法array.push(value)等将值推送到此本地存储的数组上.

是否有一种简单的方法可以做到这一点,我缺少或将采取黑客攻击?此数组的最终用法将与另一个整数数组进行比较,以查看是否有任何值匹配,如果匹配,则从第二个数组中删除索引(即它是一个数组过滤器).

此数组不应存储在服务器上,因为它对于客户端的每个用户都不同.如果没有好的方法可以做到这一点,我可能会考虑以不同的方式实现功能.

javascript arrays json local-storage

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