【问题标题】:click(function) doesn't work点击(功能)不起作用
【发布时间】:2015-10-26 17:49:15
【问题描述】:

我尝试用点击功能按钮和左/右箭头键盘做一些动画,只是一个简单的左右滑动动画。起初这些脚本运行良好,直到我在这里和那里编辑,但不是这些 JS。

当我再次运行它时,只有基于键盘的动画有效,按钮点击动画不再有效。

$(document).ready(function(){
    $('.btnright').click(function(){
        $('.project').animate({
        	left: '-=150px',
        });
    });
    $('.btnleft').click(function(){
        $('.project').animate({
        	left: '+=150px',
        });
    });
});

我确实用警报测试了点击功能,但警报也不起作用。

$(document).ready(function(){
    $('.btnright').click(function(){
        alert('right');
        
    });
    $('.btnleft').click(function(){
        alert('left');
       
    });
});

我已经检查过我是否使用了错误的类,但是现在,没关系。

<div class="btnright"><span class="material-icons">keyboard_arrow_right</span></div>
    <div class="btnleft"><span class="material-icons">keyboard_arrow_left</span></div>

这是键盘动画脚本,这个键盘脚本可以正常工作

$(document).on("keydown", function(event) {
   	var x = event.keyCode;
    if (x == 37) {  // left
    	$('.project').animate({
        left: '+=150px',
		});
	} else if (x == 39) {  // right
		$('.project').animate({
        left: '-=150px',
		});
	}
});

也许我错过了什么。我会很感激你的帮助。谢谢。

【问题讨论】:

  • 您的浏览器中是否有任何控制台错误?
  • 如果将$('.btnright').click(...) 更改为$(document).on('click', '.btnright', ...) 会怎样?
  • @Pointy 是的!这让我很沮丧! :(
  • 请注意,我之前的评论是指向您的代码工作的 jsfiddle 的链接。

标签: javascript html animation click


【解决方案1】:

从您的选项对象中删除尾随逗号。此外,您需要指定动画的持续时间。此外,.project 需要绝对或相对定位(而不是默认的静态),left 才能产生效果。所以:

$('.btnright').click(function(){
    $('.project').animate({
        left: '-=150px'
    }, 500);
});

使用 CSS:

.project {
  position: relative;
}

代替:

$('.btnright').click(function(){
    $('.project').animate({
        left: '-=150px',
    });
});

Codepen:http://codepen.io/anon/pen/WQzazR

【讨论】:

  • 我们是否在 IE7 中测试这个?
  • 对象文字中的逗号直到 ECMAScript 5 才有效。JSON 规范仍然说尾随逗号是非法的。在现代浏览器中这可能不是错误,但似乎仍然是避免它的最佳做法。
  • 我以前使用固定位置,它适用于基于键盘的动画。现在我改成相对的,根本没有用,键盘动画在相对位置上仍然可以正常工作:(令人沮丧的ps:我使用chrome
  • 嗯,我不确定为什么它不起作用。测试了你的顶级功能,它works fine。您还可以发布所有 HTML/CSS 吗?也许您没有正确设置按钮上的类名?
猜你喜欢
  • 1970-01-01
  • 2017-05-29
  • 2017-11-14
  • 2017-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多