将悬停更改为单击菜单
Changing hover to click on menu
我在更改要在"单击"而不是"悬停"时调用的函数时遇到问题。我尝试将"悬停"更改为"单击"以及"切换",但没有积极的结果
$('#menu li').hover(
function(){
$(this).stop().animate({height: '100px'},1000,function(){});
$(this).find('div').show(600);
}
,
function(){
$(this).stop().animate({height: '20px'},1000,function(){});
}
);
如果我想将事件更改为"单击",是否必须绑定事件?任何帮助将不胜感激。
这是小提琴:http://jsfiddle.net/GANeX/7/
试试这个:
http://jsfiddle.net/GANeX/52/
var clicked = 0;
$('#menu li').click(
function(){
if(clicked === 0){
$(this).stop().animate({height: '100px'},1000,function(){});
$(this).find('div').show(600);
clicked = 1;
} else if(clicked === 1){
$(this).stop().animate({height: '20px'},1000,function(){});
clicked = 0;
}
}
);
设置变量以跟踪单击状态
您正在向$(...).click(clickHandle)
传递两个参数。只需传递一个函数。
检查 http://api.jquery.com/click/
在两个参数的情况下,
http://api.jquery.com/click/
单击只需要一个参数,当我更改时一切都可以正常工作。
hover()
接受两个回调,一个用于mouseenter
,一个用于mouseleave
。如果要将其更改为单击,并且第一次单击启动第一个动画,第二次单击启动第二个动画,则需要添加一个状态变量来确定您的元素是否已单击一次或两次。
$('#menu li').click(
function(){
if(this.clicked)
{
//callback 1
}
else
{
//callback 2
}
this.clicked = !this.clicked;
}
);
相关文章:
- 在表格最后一行(链接)中显示菜单,并在单击菜单项时显示模式窗口
- 单击菜单栏打开jQuery对话框作为登录框
- 单击菜单项更改HTML内容
- 为什么谷歌图表没有右键单击菜单
- 当单击菜单时,应用过渡效果来减慢子菜单的打开速度
- 隐藏下拉菜单,单击菜单中的项目
- 禁用上下文菜单和右键单击菜单
- 单击菜单选项后,单击时冻结悬停
- 如何将 jquery 对话框显示为单击菜单栏中的链接时的警报
- 单击菜单项重定向到未定义
- 播放声音并在单击(菜单栏)时交换图像
- 寻找允许单击菜单以仅重新加载中心面板的示例代码
- 如果我创建右键单击菜单,如何保留原始复制和粘贴功能
- 单击“菜单”时,菜单项在屏幕上居中,具有褪色背景和边框效果
- 将悬停更改为单击菜单
当我单击菜单时未被查看
- 单击时禁用右键单击菜单
- 当我单击菜单元素时,希望用href在当前页面中打开一个页面
- Chrome扩展-动态右键单击菜单
- 单击菜单项后关闭下拉菜单