0

我在使用 jQuery s .on() /.bind()` 函数时遇到了一些问题。我想要做的是将点击事件附加到某个元素,因此无论何时在内容中使用它,都可以单击它并打开一个弹出窗口,而无需单独声明一个函数。

这是我的代码:它适用于简单的测试,但不适用于本地 Wordpress 环境。没有附加点击事件,调试没有告诉我任何事情......:

$(document).ready(function() {
$('#eins_audiotrigger').bind('click', function() {
    if($('#eins_audiotarget').attr('class') != 'fadeInUp'){
        $('#eins_audiotarget').removeClass().addClass('fadeInUp');
    }
    else {
        $('#eins_audiotarget').removeClass().addClass('fadeOutDown');   
    }
});
    
});

好吧,这里还有一些细节:

我用它来包含 jQuery:将 jQuery 包含到 wordpress中

我尝试了所有关于 jQuery 的无冲突模式的方法。我还有另一个 (document).ready 函数被调用并且工作正常(多个 (document).ready 在一个文件中是否存在问题?

有了这整件事,我想调用一个简单的 css 动画,它在我要添加到元素的类中定义。基本上会飞进来,并且嵌入了一个媒体播放器。

这在直接从帖子中调用时有效,但如果应该提前将此事件添加到相应的按钮,则应该实现这一点,因为 Wordpress 在使用普通编辑器时会去除脚本标签。

4

2 回答 2

0

我终于想出来了!作为一个 Javascript-newbee 我意识到,我可以通过这样做简单地添加一个点击按钮:

    $('#trigger').click( function() {
        $('#trigger').removeClass().addClass('fadeOutDown');
        $('#eins_audiotarget').removeClass().addClass('fadeInUp');
});
$('#closeIt').click( function () {
        $('#eins_audiotarget').removeClass().addClass('fadeOutDown');
        $('#trigger').removeClass().addClass('fadeInUp');
        setTimeout( function() {$('#trigger').removeClass()}, 1000);
});

在这里可以学到很多东西!谢谢你的支持!

于 2013-01-19T13:09:56.623 回答
0

有时它是 $ 的问题,所以试试这个。

jQuery(document).ready(function($) {
    $('#eins_audiotrigger').bind('click', function() {
        if($('#eins_audiotarget').hasClass('fadeInUp') === false){
            $('#eins_audiotarget').removeClass().addClass('fadeInUp');
        }
        else {
            $('#eins_audiotarget').removeClass().addClass('fadeOutDown');   
        }
    });
});
于 2013-01-18T09:52:32.210 回答