gpt4 book ai didi

javascript - 工具栏 JavaScript Pin to/Onmouseover 事件冲突

转载 作者:行者123 更新时间:2023-12-02 19:09:25 25 4
gpt4 key购买 nike

我正在用 JavaScript 制作一个工具栏。该工具栏的常规高度为 50px。鼠标悬停时,其高度更改为 500px。然而,在此工具栏上,有一个用于图像的小图钉。我的目的是让这张图片将工具栏 div 的高度更改为 500px 并让它保持这种状态。目前我可以用图像更改工具栏 div,但在鼠标退出时它会变回原来的 50px 高度。

如何才能使单击图钉图像时,onmouseout 函数停止工作,直到再次单击该图像?

如果有帮助,这是我的代码:

//Pin to Image

<img class="pin" onClick = "document.getElementById('toolbar').style.height
= '500px';" src="images/pin.png" width="20px" height="20px" />


//JavaScript for mouseoverevent

$(document).ready(function() {

$("#toolbar").hover(

//on mouseover
function() {
$("#toolbar").animate({
height: '550'
}, 'slow');
},

//on mouseout
function() {
$(this).animate({
height: '-=500px'
}, 'slow');
}
);
});

最佳答案

下面的代码应该可以解决问题(我还没有测试它是否确实有效)。肯定可以用更好的方法来完成(也许使用切换):

<img class="pin" height="20px" src="images/pin.png" width="20px"/>

//JavaScript for mouseoverevent
$(document).ready(function() {
var isPinned = false;
$(".pin").click(function(){
$("#toolbar").css('height', '500px');
isPinned = true;
});


$("#toolbar").hover(
//on mouseover
function() {
if(!isPinned) {
$("#toolbar").animate({
height: '550'
}, 'slow');
}
},

//on mouseout
function() {
if(!isPinned) {
$(this).animate({
height: '-=500px'
}, 'slow');
}
}
);
});

关于javascript - 工具栏 JavaScript Pin to/Onmouseover 事件冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13949793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com