如何使用javascript onmouseover缓慢放大图像
How to slowly enlarge image with javascript onmouseover
只有Javascript,没有jQuery!
HTML:
<div class="mid">
<img onmouseover="lielaBilde(this)" onmouseout="mazaBilde(this)" src="bilde.png" alt="bilde"/>
</div>
JS:
function lielaBilde(x) {
x.style.height = "121px";
x.style.width = "181px";
}
function mazaBilde(x) {
x.style.height = "121px";
x.style.width = "121px";
}
我想创建这样我的img从121像素增加到182像素。例如,在3秒钟内慢慢放大。现在它只是瞬间放大。
只需添加css即可完成,无需添加任何javascript或jQuery。
.mid{
width: 300px;
height: 300px;
background: #222;
-webkit-transition: width 2s ease, height 2s ease;
-moz-transition: width 2s ease, height 2s ease;
-o-transition: width 2s ease, height 2s ease;
-ms-transition: width 2s ease, height 2s ease;
transition: width 2s ease, height 2s ease;
}
.mid:hover {
width: 121px;
height: 181px;
}
您可以使用如下所示的CSS。
.mid img {
width: 100px;
height: 100px;
-webkit-transition: width 2s, height 2s;
transition: width 2s, height 2s
}
.mid img:hover {
width: 181px;
height: 181px;
}
不需要Javascript。
function lielaBilde(x) {
var pos=121;
var id = setInterval(frame, 3);
function frame() {
if (pos == 181) {
clearInterval(id);
} else {
pos++;
x.style.height= pos + 'px';
x.style.width= pos + 'px';
}
}
}
试试这个鼠标悬停。纯javascript
正如Nitsan Baleli所评论的,您可以使用CSS转换。此外,CSS还支持:悬停选择器,这样做就更容易了
HTML:
<div class="mid>
<img src="bilde.png" alt="bilde"/>
</div>
CSS:
div.mid img:hover {
transform: scale(1.1);
}
使用setInterval()
和clearInterval()
function lielaBilde(x) {
var height, width;
myVar = setInterval(function(){
height = parseInt(x.style.height);
width = parseInt(x.style.width)+1;
x.style.height = height + "px";
x.style.width = width + "px";
if(width==181)
clearInterval(myVar);
}, 50);
}
function mazaBilde(x) {
clearInterval(myVar);
x.style.height = "121px";
x.style.width = "121px";
}
<div class="mid">
<img onmouseover="lielaBilde(this)" onmouseout="mazaBilde(this)" src="http://placehold.it/121" alt="bilde" style="height:121px; width:121px"/>
</div>
您可以在函数中设置css3属性。。。
function lielaBilde(x) {
x.style.WebkitTransition = 'width 3s ease';
x.style.MozTransition = 'width 3s ease';
x.style.height = "121px";
x.style.width = "181px";
}
它正在工作。。。所以可能是你的功能不起作用,因为
1-你给出了错误的js文件路径。
2-您的函数位于head
标记中。在这种情况下,您需要在body
标记后移动JavaScript,请参阅此处
function lielaBilde(x) {
x.style.height = "121px";
x.style.width = "181px";
}
function mazaBilde(x) {
x.style.height = "121px";
x.style.width = "121px";
}
<div class="mid">
<img onmouseover="lielaBilde(this)" onmouseout="mazaBilde(this)" src="http://placehold.it/121x121" alt="bilde" />
</div>
相关文章:
- UIAutomation放大图像
- 如何使用javascript onmouseover缓慢放大图像
- 使用angular缩放大图像以适应屏幕宽度
- 使用 JavaScript 在我的 html 页面中放大图像
- 悬停时放大图像,但不要'不要把容器放大
- 结合freewall.js和fancybox.js在Rails项目中获得可点击的放大图像
- jQuery,单击以放大图像,然后再次单击使其恢复到以前的宽度
- 仅使用一个图像放大图像
- 单击时使用 java 脚本放大图像
- 如何在不悬停/单击的情况下设置放大图像的动画
- 使用jQuery&/或CSS,以在悬停时放大图像并保持选中状态
- 在fabricjs中放大图像后无法保留圆的位置
- 当javascript事件的大小通过css设置时,我如何在其上放大图像
- 尝试用javascript创建一个函数来放大图像
- 放大图像悬停使用Twitter引导
- 放大图像和移动它与鼠标上的指针
- 当我将鼠标悬停在矢量的一部分上时,如何放大图像?
- 离子捏放大图像
- 缩放大图像与JCrop
- 修改缩略图脚本中的放大图像,以根据其大小属性动态显示图像