我找到了一个关于如何在事件发生时使图像抖动的教程。它工作,但我想避免使用div标签并使用getElementById(因为它有一个id)。我做了一些谷歌搜索,无法找到任何关于这个问题。那可能根本不可能吗?
每当我这样做是不行的。
我改变了这个
$('#mySubmit input').shake();
到这个
getElementByid("mySubmit").shake();
整个剧本
我对JavaScript很陌生,所以如果这完全是愚蠢的,没有意义,请解释原因。
感谢您的帮助。
答案 0 :(得分:1)
答案 1 :(得分:0)
由于你有一个id,你可以使用jQuery id选择器,但在你的情况下,你有2个元素具有无效的id,因为ID必须是唯一的。因此,请为div
和input
按钮分配不同的ID,并使用id-selector之类的
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>