javascript - 带有onclick的CSS3过渡效果

标签 javascript css css-transitions

我正在研究 CSS3,有点卡在了一个问题上。

问题如下:

我有一个最初位于屏幕左侧的图像:

.box img{
margin-left:0;
-webkit-transition:1s;
 }

现在,悬停时,当我想要效果发生时,即。当我将鼠标悬停在图像上时,将图像从左侧移动 500px,代码如下:

.box img:hover{
margin-left:500px;
-webkit-transition:1s;
 }

这非常完美。唯一的问题是当我希望在单击图像时产生相同的效果。那就是我希望图像在单击时从左侧移动 500px 并停留在那里。 当我再次点击图片时,它应该会回到原来的位置。

我该怎么办,请解释一下!!!

最佳答案

您可以使用几乎相同的方法,只需使用 JS/jQuery 添加/删除一个具有所有规则(如悬停状态)的类。

CSS

.box img:hover, .box img.clicked{
    margin-left:500px;
    -webkit-transition:1s; // you don't need to specify this again
 }

jQuery

$('.box img').on('click', function() {
    $(this).toggleClass('clicked');
});

更新

这是一个例子:http://jsfiddle.net/Te9T5/ 悬停状态已移除,因为当悬停和单击执行相同的操作时它看起来不太好,因为您需要悬停某物才能单击它。

关于javascript - 带有onclick的CSS3过渡效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20062327/

相关文章:

javascript - {} 和 () 与 .map 与 Reactjs 的区别

css - 是否可以为 child 一步一步(一步步)运行 CSS3 动画?

javascript - jQuery - 将 CSS 应用于匹配项

javascript - 将包装器的高度绑定(bind)到特定子元素的高度

javascript - 是否可以使用 Angularjs 形式的双数组?

CSS透明右上三 Angular 边框

javascript - CSS 动画不适用于 animate.css 跨度

php - 从 Wordpress 自定义插件 php 文件内部链接的 CSS 背景图像

javascript - 如果不查询宽度属性,过渡就不起作用

image - 悬停时背景图像之间的 CSS 淡入淡出