首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从jquery调用css3转换

问从jquery调用css3转换
EN

Stack Overflow用户
提问于 2011-08-16 09:52:48
回答 4查看 10.8K关注 0票数 12

CSS3的转换非常棒!到目前为止,我在样式表中使用:hover或:active声明来触发它们。我想看看有没有从jquery触发它们的方法。

例如:

代码语言:javascript
复制
#MyDiv{
border:1px solid red;
background:blue;
transition: all 0.3s linear;
}

MyDiv:hover{
border:1px solid black;
background:yellow;
}

当鼠标移动到MyDiv上时,将触发:hover转换,但我希望执行的操作如下:

代码语言:javascript
复制
$('#MyDiv').transition(hover); //that would be ideal

换句话说,我想触发css动画,这样当我将鼠标移到其他div上时,#MyDiv动画就会用$('#SomeOtherDiv').mouseenter(function () { $('#MyDiv').transition(hover); });触发

jquery动画函数不支持颜色转换,虽然我知道你可以添加jqueryUI插件来让它工作,但我想知道有没有什么方法可以让它在没有的情况下工作,使用jquery调用css转换。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-16 11:45:05

代码语言:javascript
复制
#MyDiv {
    border:1px solid red;
    background:blue;
    transition: all 2.0s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
}

.hover{
    border:1px solid black;
    background:yellow;
    transition: all 2.0s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
}

$("#MyOtherDiv")
.mouseenter(function(){
    $("#MyDiv").addClass("hover");
})
.mouseleave(function(){
    $("#MyDiv").removeClass("hover");
});
票数 5
EN

Stack Overflow用户

发布于 2013-03-12 03:13:34

为了获得更好的移动设备性能,我会使用webkit-transform而不是webkit-transition,因为您将从移动设备中获得硬件加速的好处,从而在使用CSS3执行这些转换时具有更流畅、更自然的外观。

实际上,我会继续获取jQuery Transit plugin,这使得使用jQuery调用给定的转换变得很容易。它基本上会为您处理CSS3转换,并提供跨浏览器兼容性。

JS Fiddle Demo

Javascript:

代码语言:javascript
复制
$("#startTransition").on("click", function()
{
    $("#MyDiv").transition({ background: 'yellow', color: 'black'});
});
票数 3
EN

Stack Overflow用户

发布于 2011-08-16 10:05:21

为此,您不需要任何jQuery。http://jsfiddle.net/v7AA7/ -示例

代码语言:javascript
复制
#MyDiv{
    border:1px solid red;
    background:blue;
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
}

#MyDiv:hover{
    border:1px solid black;
    background:yellow;
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7072804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档