Javascript/CSS3 Transition
Javascript/CSS3 Transition
当"image strip"悬停时,它会打开到其内容的高度。然而,这样做也应该有一个平稳的过渡。我做错了什么?CSS3似乎没有影响它。
Javascript:
<script type="text/javascript">
function hover(id) {
document.getElementById(id).style.height="100%";
}
</script>
样式:
#image-strip{
width: 100%;
height: 300px;
float: left;
overflow: hidden;
transition: all 0.3s ease-in;
-webkit-transition: all 0.3s ease-in;
-moz-transition: all 0.3s ease-in;
-ms-transition: all 0.3s ease-in;
cursor: pointer;
}
#image-strip img{
width: 100%;
}
HTML:
<div id="image-strip" onmouseover="hover('image-strip')"><img src="images/content/1.jpg"></div>
有两件事,第一件:实际上,您可以将"this"传递到函数调用中,因为这样您就可以访问它,并且不需要再次访问DOM,从而节省时间和内存,虽然这不是一个明显的数量,但这是一种更好的做法。onmouseover="hover(this)"
function hover(el) {
el.style.height="100%";
}
第二件事:
CSS转换意味着在没有Javascript的情况下使用,关键是不需要JS来操作DOM,这样就可以实现转换:
#image-strip{
width: 100%;
height: 300px;
float: left;
overflow: hidden;
transition: height 0.3s ease-in;
-webkit-transition: height 0.3s ease-in;
-moz-transition: height 0.3s ease-in;
-ms-transition: height 0.3s ease-in;
cursor: pointer;
}
#image-strip:hover {
height: 100%;
}
你只需要对你想要影响的属性调用transition,然后当元素发生状态变化时,比如悬停,转换就会开始。需要明确的是,你不需要任何Javascript来使用转换,除非你添加或删除一个元素来启动转换,但你所做的事情不需要任何JS。希望这会有所帮助。
<div id="image-strip" onmouseover="hover(this.id)"><img src="images/content/1.jpg"></div>
第2步-->您的css(已将id修改为class-->#。)
.image-strip{
width: 100%;
height: 300px;
float: left;
overflow: hidden;
transition: all 0.3s ease-in;
-webkit-transition: all 0.3s ease-in;
-moz-transition: all 0.3s ease-in;
-ms-transition: all 0.3s ease-in;
cursor: pointer;
}
步骤3-->JavaScript(只需添加css类)
function hover(id) {
document.getElementById(id).classList.add('image-strip');
}
只要确保你做了上述更改,你的代码就会工作。100%我遇到了同样的问题,LINK-->css反弹并在javascript 中添加类
更新1->
使用javascript、应用css
document.getElementById(id).style.webkitTransitionDuration="0.6s";
document.getElementById(id).style.webkitTransitionTimingFunction="linear";
document.getElementById(id).style.cursor="pointer";
相关文章:
- 关键帧之间的css3动画延迟
- 尝试创建一个具有z-index的堆叠菜单'使用HTML5/CSS3/JS
- 计算CSS3缩放框在另一个框中的最高位置
- 打开相对于鼠标位置的CSS3/HTML5模式对话框
- 下降区内的CSS3过渡
- 访问css3动画的关键帧
- CSS3:当页面向下滚动到第一个视口时,是否可以在元素上触发转换
- css3转换和javascript出错
- CSS3动画图像质量按比例
- CSS3卡翻转动画,检测是否不支持
- HTML5、CSS3和/或JS中旋转CD上的音频播放器
- jQuery鼠标输出调用CSS3动画
- 重置transform:rotate()而不调用-webkit transition:style
- 使用带有onclick事件的Javascript启动CSS3动画
- 为什么我会得到一个“;未捕获类型错误”;当我介绍D3.transition()时
- Jquery and CSS3 Rotation
- 仅限滑动图像css3或需要javascript
- 如何在不使用css转换的情况下将jQuery animate与css3属性相结合
- Javascript/CSS3 Transition
- CSS3 + Javascript - Will -ms-transition:不透明15易进易出;仅在IE 10中工作