我正试图在我的主页上的几张图片上创建一个摆动效果!
当我将鼠标悬停在图像上时,我想完成此操作。我有以下html:
<div id="Background"> <br /><br /> <div class="Menu"> <div> <button class ="ButtonClass">Activities</button> <button class ="ButtonClass">Offers</button> <button class ="ButtonClass">Skills</button> </div> </div> <div id="Content"> <h1>Activities</h1> <div id ="newsSection"> <h4> <span class="subhead">Satan Kommer ej</span></h4> <p> !</p> <h4> <span class="subhead">Börjar den 14 December!</span></h4> <p> </p> <h4> <span class="subhead">2012 top </span></h4> <table id="theList"> <thead> <tr> <th>Namn</th> <th>has</th> </tr> </thead> <tbody> <tr> <td>Henrik</td> <td>500k</td> </tr> <tr> <td>Erik</td> <td>450k</td> </tr> <tr> <td>Samer</td> <td>400K</td> </tr> <tr> <td>Jakob</td> <td>350K</td> </tr> <tr> <td>Pontus</td> <td>300k</td> </tr> <tr> <td>Peder</td> <td>250K</td> </tr> <tr> <td>Chefen</td> <td>200K</td> </tr> <tr> <td>Johan</td> <td>150K</td> </tr> <tr> <td>Tania</td> <td>100K</td> </tr> <tr> <td>Perica</td> <td>54K</td> </tr> </tbody> </table> </div> <br /> <h5>peps:</h5> <div id="Consultants"> <img src="/images/erik.jpg" alt="" width="70" height="70" float ="left" /> <img src="/images/PONY.jpg" alt="" width="70" height="70" float ="left" /> <img src="/images/peder.jpg" alt="" width="70" height="70" float ="left" /> <img src="/images/sael.jpg" alt="" width="70" height="70" float ="left" /> </div> </div> </div> <br /> </body> </html>
我有以下jquery代码:
$(function () {
$("#Consultants img").hover(wiggle, wiggle);
function wiggle(evt) {
$(this).wiggle()
};
};
当我添加代码并按下“代码示例”按钮时,它似乎没有工作,所以我不得不这样抱歉。
我的问题是我在线尝试了几种解决方案,但无法使它们正常工作,所以经过几个小时的尝试,我决定寻求帮助。
jquery代码可能不是100%正确,但它更像是一个代码示例,以便您可以理解我要做的事情。我希望你能填补其余部分。
谢谢!
答案 0 :(得分:3)
好的,因为你很沮丧,只需使用这个plugin:
这个插件只是简单地触发点击动画动画,因为你需要wiggle effect on a image when hovering
因为你需要$('div#wigglewrapper img').hover(function(){
$(this).wiggle('start');
},function(){
$(this).wiggle('stop');
});
所以只需使用hover功能,因此只需使用{{3}}功能:
{{1}}
希望有所帮助:)
答案 1 :(得分:1)
没有插件就是一个摆动功能。只是jquery ......
var wiggle = function(myelement) {
$(myelement)
.animate({'left':(-10)+'px'},200)
.animate({'left':(+20)+'px'},200)
.animate({'left':(-10)+'px'},200);
};
这样称呼:
wiggle('#myelement');
答案 2 :(得分:1)
@章鱼&#39;答案是(不再?)工作。首先,动画是异步的,因此它们可能以任何顺序触发,因此您必须在complete
回调中嵌套后续动画,并且传递'-10px'
设置绝对值,因此您需要{ {1}}。此外,'-=10px'
不适用于所有元素(left
也不是通用的,因此您可能需要进行实验)。
这是我对Octopus&#39;的快速而肮脏的改编。回答,当你需要一次功能时使用它并继续前进:
margin