JQuery随时间悬停
我确实对jquery有问题。我有一个带“展示你的东西”的分区。当我将鼠标移到另一个div块上时,会显示我想要的。当我再做一次鼠标时,divblock就跑掉了。我希望divblock在60秒后消失,而不需要再次使用新鼠标。有人能帮我吗 这是我的代码:JQuery随时间悬停,jquery,css,Jquery,Css,我确实对jquery有问题。我有一个带“展示你的东西”的分区。当我将鼠标移到另一个div块上时,会显示我想要的。当我再做一次鼠标时,divblock就跑掉了。我希望divblock在60秒后消失,而不需要再次使用新鼠标。有人能帮我吗 这是我的代码: <script type="text/javascript"> $(document).ready(function() { $("a#controlbtn").hover(function(e) {
<script type="text/javascript">
$(document).ready(function() {
$("a#controlbtn").hover(function(e) {
e.preventDefault();
var slidepx=$("div#linkblock").width() + 10;
if ( !$("div#maincontent").is(':animated') ) {
if (parseInt($("div#maincontent").css('marginRight'), 10) < slidepx) {
$(this).addClass('close').html('Show your stuffs');
margin = "+=" + slidepx;
} else {
$(this).removeClass('close').html('Hide your stuffs');
margin = "-=" + slidepx;
}
$("div#maincontent").animate({
marginRight: margin
}, {
duration: 'slow',
easing: 'easeOutQuint'
});
}
});
});
</script>
$(文档).ready(函数(){
$(“a#controlbtn”)。悬停(函数(e){
e、 预防默认值();
var slidepx=$(“div#linkblock”).width()+10;
如果(!$(“div#maincontent”).是(':animated'){
if(parseInt($(“div#maincontent”).css('marginRight'),10)
您可以使用设置超时
和清除超时
分别在鼠标离开和重新进入时推迟和取消隐藏效果:
$(element).mouseover(function() {
if (typeof delayTime != 'undefined')
window.clearTimeout(delayTime);
$('#tooltip').animate({/*CSS to show element*/},{duration: XXX, queue: false});
});
$(element).mouseout(function() {
delayTime = window.setTimeout(function(){
$('#tooltip').animate({/*CSS to hide element*/},{duration: XXX, queue: false});
}, XXX);
});
…其中每个
XXX
是一个表示延迟或持续时间(毫秒)的数字 我不确定这对你是否有帮助,但值得一试
阿伦发布了一个链接!这是有效的:
Craphunter对于这样的任务,我也使用HoverIntent。它具有灵敏度和超时等特性。灵敏度意味着您可以在鼠标悬停项目触发“退出”事件之前将X个像素移离鼠标悬停项目,并在触发“退出”事件之前在鼠标悬停项目之外超时一段时间。谢谢#工具提示:这是我的div名称吗?很抱歉,它不起作用。
#工具提示
是您试图在mouseover/mouseout上显示/隐藏的元素的虚拟id
值。您需要将其替换为类
或id
或任何有效返回代码中实际目标元素的选择器。您可以为我或/和CSS发布html代码吗?但是我想html代码会更好。我真的不知道我做错了什么!这是一个工作的例子,它听起来像你要实现的行为,加上一个处理程序,当鼠标离开一个原始的“基本”div进入其相应的“工具提示”div。谢谢你!这正是我想要的!哦,JQuery不是很好!你可以用它做很多事情,但在我看来,它有时并不那么合乎逻辑。再次感谢!