我找到了一个关于如何在事件发生时使图像抖动的教程。它可以工作,但是我想避免使用div 标签并使用 getElementById(因为它有一个 id)。我用谷歌搜索了一些,找不到有关该主题的任何内容。所以可能根本不可能?
每当我这样做时都是行不通的。
我改变了这个
$('#mySubmit input').shake();
对此
getElementByid("mySubmit").shake();
还有整个剧本
小提琴
我对 JavaScript 很陌生,所以如果这完全愚蠢并且没有意义,请解释为什么。
感谢您的帮助。
由于您有一个 id,因此您可以使用 jQuery id 选择器,但是在您的情况下,2 个元素具有相同的 id,这是无效的,因为 ID 必须是唯一的。因此,为div
和input
按钮分配不同的 ID,并使用 id 选择器,例如
jQuery.fn.shake = function () {
this.each(function (i) {
$(this).css({
"position": "relative"
});
for (var x = 1; x <= 9; x++) {
$(this).animate({
left: -25
}, 10).animate({
left: 0
}, 50).animate({
left: 25
}, 10).animate({
left: 0
}, 50);
}
});
}
function start() {
$('#mySubmit').shake();
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="mySubmitCt" align="center">
<input type="image" id="mySubmit" src="http://ezelrn.com/session/image/ButtonBlkForward.png">
</div>
<button onclick="start();">test</button>
上面似乎回答了这个问题,但我也有另一种方法,你可以考虑使用 CSS。
访问网站:http://elrumordelaluz.github.io/csshake/了解更多信息 信息:)
祝您编码愉快!