Because you use toggle()
. Use effect(...)
instead:
$(".sales img").effect("shake", {
direction: "left",
times: 4,
distance: 1
}, "slow");
From the jQuery UI documentation:
Toggle
Display or hide elements using custom effects.
So, because your element was visible, after toggling it it becomes invisible (display: none
).