Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态创建js函数_Javascript_Jquery_Animation - Fatal编程技术网

Javascript 动态创建js函数

Javascript 动态创建js函数,javascript,jquery,animation,Javascript,Jquery,Animation,我想动态(在循环中)将函数绑定到几个div的。click()事件。然后单击函数应该隐藏单击的div。按照我尝试的方式,我丢失了对div的引用,“this.”对我也不起作用 下面是我要绑定的函数: function do_hide() { is_anim = true; $(this).animate({ opacity: 0.25, height: 'toggle', width: 'toggle' }, 5000

我想动态(在循环中)将函数绑定到几个div的
。click()
事件。然后单击函数应该隐藏单击的div。按照我尝试的方式,我丢失了对div的引用,“this.”对我也不起作用

下面是我要绑定的函数:

function do_hide() {  
    is_anim = true;  
    $(this).animate({

        opacity: 0.25,
        height: 'toggle',
        width: 'toggle'
    }, 5000, function() {

        is_anim = false;
        this.hide();
    });
}
谢谢你的帮助

编辑:ghayes帮助下的解决方案

此处调用do_hide():

for (var i = 0; i < n; i++)
{    
p[i] = $("#btn"+(i+1));

p[i].click(function() {
   do_hide.call(this);
 });
}
(变量i=0;i { p[i]=$(#btn+(i+1)); p[i]。单击(函数(){ 不要隐藏。打电话给(这个); }); } 您可以为此使用jquery

只需编写代码隐藏在live中绑定的函数中,例如$(this).hide()

您可以使用jquery实现此目的

只需编写代码隐藏在live中绑定的函数中,例如$(this).hide()

$('divselector')。单击(do\u hide)

这一定能奏效。或者单击绑定中是否有其他代码?

$('divselector')。单击(do\u hide)


这一定能奏效。或者单击绑定中是否有其他代码?

您可以在调用“do\u hide”时绑定它的作用域。我建议采用如下模式:(工作模式)


希望这有帮助

调用“do_hide”时,可以绑定它的作用域。我建议采用如下模式:(工作模式)


希望这有帮助

Jatin有您正在寻找的解决方案

您是只绑定了一次click事件,还是每次创建新div时都绑定了click事件

在任何情况下,如果使用.live方法进行绑定,它将在创建元素时绑定事件

在页面的任何位置添加此选项都会使其正常工作:

$('div').live('click',do_hide);

Jatin有您正在寻找的解决方案

您是只绑定了一次click事件,还是每次创建新div时都绑定了click事件

在任何情况下,如果使用.live方法进行绑定,它将在创建元素时绑定事件

在页面的任何位置添加此选项都会使其正常工作:

$('div').live('click',do_hide);

调用do_hide()的位置在哪里?调用do_hide()的位置在哪里?谢谢,这对我帮助很大,这样我就不会丢失对$(this)的引用。谢谢,这对我帮助很大,这样我就不会丢失对$(this)的引用。