jquery - 单击时为 div 设置动画,但单击该 div 内的元素时不设置动画

标签 jquery html

我有动画问题,我想在点击 div 时设置动画,但不想在点击 div 中的其他内容时设置动画。

这是我的测试站点: http://kni.prz.rzeszow.pl/~plum/portfolio/index.html

Kontakt div 是我正在寻找的东西,但是当我单击文本区域时,div 是动画的。这就是问题所在。感谢和问候。

我网站上的代码,但那是动画 div id="kontakt"的片段:

$(function(){
$("#kontakt").click(function(){
    //zabezpieczenie przed animowaniem wielu div'ów na raz
            if ($('div').is(':animated')) {
        return;
    }
            //główna animacja odpowiedzialna za powiększanie i zmniejszanie div'a
    if (kontakt == 0) {
        kontakt = 1;
        $(this).fadeTo(500, 0.33).delay(500).fadeTo(500, 1);
        $(this).animate({
            left: '+=205',
            top: '-=205'
        }, 1000, function(){
            $(this).animate({
                width: 400,
                height: 400,
                left: '-=205'
            }, 1000, function(){
                $.get('kontakt.html', function(data){
                    $('#kontakt').html(data);
                });
            });
        });
    }
    else 
        if (kontakt == 1) {
            kontakt = 0;
            $(this).html('<a href="#">Kontakt</a>');
            $(this).animate({
                left: '+=205',
                width: 195,
                height: 195
            }, 1000, function(){
                $(this).animate({
                    left: '-=205',
                    top: '+=205'
                }, 1000);
            });
        }
});});

这对我没有帮助:

$(':text, textarea').click(function(e){
e.stopPropagation();
alert('to dziala');
return true;});

最佳答案

您可以更改您的 #kontakt处理程序稍微检查事件的目标,如下所示:

$("#kontakt").click(function(e) {
    if(!$(e.target).is('div, a')) return;

使用 .is() 我们正在检查您是否点击了 <div>直接,或 <a> (邮件图标)。如果这两个都不成立,我们就跳出去,什么都不做:)

关于jquery - 单击时为 div 设置动画,但单击该 div 内的元素时不设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3430893/

相关文章:

html - CSS:如何遍历嵌套的跨度标记树并选择每个跨度并为每个跨度分配一个单独的值?

jquery - 在JQuery验证库的远程规则中直接通过POST而不是GET发送参数?

html - 使用百分比的响应式网格布局的 CSS 问题

javascript - Html 选择列表 : why would onchange be called twice?

javascript - Fancybox 表单 ajax 发布关闭提交

PHP While 循环和 DIV

javascript - 在 Asp MVC 5 中使用 Rotativa PDF 生成器隐藏 PDF 中的打印按钮和导航菜单

javascript - 如何使用 jQuery 事件监听器获取目标元素?

javascript - 动态添加的选择列表未按预期工作

jquery - 如何在rails应用程序中使用jquery自动完成