请教一个关于jQuery弹出菜单的问题
时间:2010-03-24
来源:互联网
我写了如下jquery代码
$(document).ready(function() {
$(".father").hover(function() {
$(this).children("ul").show(100);
}, function() {
$(this).children("ul").hide(100);
});
})
html部分如下 菜单是由asp.net生成 由于不想嵌套repeater 所以子节点我自己做了一方法用代码生成
<asp:Repeater ID="RMenu" runat="server">
<HeaderTemplate>
<ul id="menu">
<li class="father-left"><a href="index.aspx">首页</a></li>
</HeaderTemplate>
<ItemTemplate>
<li class="father"><a href="#"><%#DataBinder.Eval(Container.DataItem,"class_name") %></a>
<%#GetChildNode(DataBinder.Eval(Container.DataItem,"class_id")) %>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
一下是生成子节点的代码
public string GetChildNode(object sender)
{
int FatherClassId = Convert.ToInt32(sender);
string ChildNodeCode;
ChildNodeCode = "<ul>";
using (SqlConnection mydatacon = new SqlConnection(constr))
{
mydatacon.Open();
using (SqlCommand mycmd = new SqlCommand("select * from class where class_belongto=@id", mydatacon))
{
mycmd.Parameters.AddWithValue("@id", FatherClassId);
using (SqlDataReader mysdr = mycmd.ExecuteReader())
{
if (mysdr.HasRows)
{
while (mysdr.Read())
{
ChildNodeCode += "<li><a href=\"#\">";
ChildNodeCode += mysdr["class_name"].ToString();
ChildNodeCode += "</a></li>";
}
ChildNodeCode += "<li class=\"bottom\"></li>";
ChildNodeCode += "</ul>";
}
else
{
ChildNodeCode += "</ul>";
}
}
}
mydatacon.Close();
}
return ChildNodeCode.Trim();
}
做完这些后 发现鼠标移出主菜单移入子菜单后仍然会造成子菜单隐藏 而我写的代码我和我看的教程上的是完全没有出入的 不知道这是为什么 求高人解答! 顺便说下我的jQuery用的是1.4版本
$(document).ready(function() {
$(".father").hover(function() {
$(this).children("ul").show(100);
}, function() {
$(this).children("ul").hide(100);
});
})
html部分如下 菜单是由asp.net生成 由于不想嵌套repeater 所以子节点我自己做了一方法用代码生成
<asp:Repeater ID="RMenu" runat="server">
<HeaderTemplate>
<ul id="menu">
<li class="father-left"><a href="index.aspx">首页</a></li>
</HeaderTemplate>
<ItemTemplate>
<li class="father"><a href="#"><%#DataBinder.Eval(Container.DataItem,"class_name") %></a>
<%#GetChildNode(DataBinder.Eval(Container.DataItem,"class_id")) %>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
一下是生成子节点的代码
public string GetChildNode(object sender)
{
int FatherClassId = Convert.ToInt32(sender);
string ChildNodeCode;
ChildNodeCode = "<ul>";
using (SqlConnection mydatacon = new SqlConnection(constr))
{
mydatacon.Open();
using (SqlCommand mycmd = new SqlCommand("select * from class where class_belongto=@id", mydatacon))
{
mycmd.Parameters.AddWithValue("@id", FatherClassId);
using (SqlDataReader mysdr = mycmd.ExecuteReader())
{
if (mysdr.HasRows)
{
while (mysdr.Read())
{
ChildNodeCode += "<li><a href=\"#\">";
ChildNodeCode += mysdr["class_name"].ToString();
ChildNodeCode += "</a></li>";
}
ChildNodeCode += "<li class=\"bottom\"></li>";
ChildNodeCode += "</ul>";
}
else
{
ChildNodeCode += "</ul>";
}
}
}
mydatacon.Close();
}
return ChildNodeCode.Trim();
}
做完这些后 发现鼠标移出主菜单移入子菜单后仍然会造成子菜单隐藏 而我写的代码我和我看的教程上的是完全没有出入的 不知道这是为什么 求高人解答! 顺便说下我的jQuery用的是1.4版本
作者: xboxeer 发布时间: 2010-03-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28