jQuery事件触发器曾经在开发者控制台中编写,为什么?我如何让它每次在页面未刷新时触发?
例如打开网页: http://www.express.co.uk/news
并在开发人员控制台中键入这段代码:
$ = window.jQuery;
var logo = $('#expressLogo img');
logo.css({"-webkit-transition":"-webkit-transform .8s ease-in-out","transition":"transform .8s ease-in-out;"})
logo.hover(function(e) {
logo.css({"-webkit-transform":"rotate(360deg)","transform":"rotate(360deg);"})
});
当您看到事件触发器在徽标悬停时一次,然后不再重复悬停。我试着继续写。("鼠标输入鼠标离开"(事件和其他一些与预期相同的结果。
只要您将鼠标悬停在元素上,它就会起作用。 但它没有 mouseout 或 mouseleave 事件,因此它会返回到 0 度或从当前度数转换 360 度以上。 所以它看起来工作一次。
您需要给出一个动态度数,例如currentDegree + 360
或设置mouseout
事件,将变换设置为 0deg。
正如我看到你的问题,你不需要jQuery。你也可以用纯 css 来做到这一点。请检查。
.logo{
-webkit-transition:-webkit-transform .8s ease-in-out;
transition:transform .8s ease-in-out;
}
.logo:hover{
-webkit-transform:rotate(360deg);
transform:rotate(360deg);
}
<img class="logo" src="http://www.dummymag.com/media/img/dummy-logo.png" />
我希望这对您有所帮助,如果它不起作用,请告诉我。