我有动画问题,我想在点击 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/