JavaScript使用getelementbyid摇动图像

时间:2014-12-12 03:10:17

标签: javascript jquery html

我找到了一个关于如何在事件发生时使图像抖动的教程。它工作,但我想避免使用div标签并使用getElementById(因为它有一个id)。我做了一些谷歌搜索,无法找到任何关于这个问题。那可能根本不可能吗?

每当我这样做是不行的。

我改变了这个

 $('#mySubmit input').shake();

到这个

 getElementByid("mySubmit").shake(); 

整个剧本

JsFiddle

我对JavaScript很陌生,所以如果这完全是愚蠢的,没有意义,请解释原因。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

上面似乎回答了这个问题,但我也有一种替代方法,您可以考虑使用CSS。

  

访问网站:http://elrumordelaluz.github.io/csshake/了解更多信息   信息:)

快乐编码!

答案 1 :(得分:0)

由于你有一个id,你可以使用jQuery id选择器,但在你的情况下,你有2个元素具有无效的id,因为ID必须是唯一的。因此,请为divinput按钮分配不同的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>