我知道这里有一百万个,但我已经筛选了好几天,我无法让这段代码工作。
我正在尝试将 hoverIntent 添加到现有的 Wordpress 主题 Atahualpa。我喜欢这个主题,但我希望菜单能保留一段时间。对于复杂的页面结构,这是一个相当大的 GUI 可用性问题。
我对 Javascript 很陌生,所以我很难知道我的语法等是否正常。我希望这很容易。这就是我所在的地方。
我已经在我的网站上加载了 .js,并使用了 Firebug 控制台来确保它正在加载。
我在主题中启用了“菜单动画”。这有一些逻辑可以将其指向原始代码,就是这样。
/* JQUERY */
jQuery(document).ready(function(){
<?php if ( $bfa_ata['animate_page_menu_bar'] == "Yes" AND strpos($bfa_ata['configure_header'],'%page')!== FALSE ) { ?>
jQuery("#rmenu2 li.rMenu-expand").hover(function(){
jQuery(this).find('ul.rMenu-ver:first').css({"display":"block","position":"absolute"});
jQuery(this).find('ul.rMenu-ver:first li').css({"display":"none"}).slideDown(500);
},function() {
jQuery(this).find('ul.rMenu-ver:first').css("display","block");
jQuery(this).find('ul.rMenu-ver:first li').css("display","block").slideUp(300);
jQuery(this).find('ul.rMenu-ver:first').slideUp(300);
});
在查看了许多不同的示例后,我将代码更改为以下内容。我想保留动画效果(但如果他们是 PITA,他们可以去),我想对延迟进行一点控制。最重要的是,虽然我需要 hoverIntent 才能工作,因为复杂的页面结构难以导航。
/* JQUERY */
$(document).ready(function(){
<?php if ( $bfa_ata['animate_page_menu_bar'] == "Yes" AND strpos($bfa_ata['configure_header'],'%page')!== FALSE ) { ?>
$("#rmenu2 li.rMenu-expand").hoverIntent({
over: function(){
jQuery(this).find('ul.rMenu-ver:first').css({"display":"block","position":"absolute"});
jQuery(this).find('ul.rMenu-ver:first li').css({"display":"none"}).slideDown(500);
$(this).children('a:first').addClass("hov");
},
timeout: 500,
out: function() {
jQuery(this).find('ul.rMenu-ver:first').css("display","block");
jQuery(this).find('ul.rMenu-ver:first li').css("display","block").slideUp(300);
jQuery(this).find('ul.rMenu-ver:first').slideUp(300);
$(this).children('a:first').removeClass("hov");
});
此代码已损坏。菜单恢复到其默认的 CSS 样式,因此它仍然可以运行,但是动画消失了,并且当鼠标移出菜单时,它们的延迟为 0。
请帮忙!我究竟做错了什么?