我想根据jPanelMenu
的{{1}}的值为元素添加一个类。
我正在使用该插件构建一个移动网站,我的标题是这样的:
data-menu-position
当我的View menu | --------Branding-------- | Login
打开时,我无法点击jPanelMenu
按钮 - 当我这样做时,我会被重定向到另一个页面,从我{{1}链接的页面}区域,或来自我的View menu
链接。在这两种情况下,它关闭菜单,但我被重定向,而不是看到当前页面。
我尝试使用Branding
,没有任何运气。我也尝试过类似的东西,但没有任何效果:
Login
我的想法是在菜单打开后将z-index
更改为$('#view_menu').addClass( $('body').attr('data-menu-position') );
,这样我就无法重定向,但我似乎无法让它工作。
有没有人遇到过这类问题,或者有没有人找到任何解决方案(ajax,jquery ......)?
答案 0 :(得分:0)
我不确定实际问题源于什么,因为我从未使用过jPanelMenu,也许问题出在其他地方。
但是,我可以帮助您实现您所建议的“解决方法”。
$('#view_menu').click( function() { $(this).children('a[data-menu-position=foobar]').attr('href','#'); });
基本上,你点击id为'view_menu'的元素,并扫描它的子节点,找到一个属性为'data-menu-position'的锚,它的值为'foobar'。 (您可以使用变量替换foobar)然后将该锚点的href更改为“#”
显然结构可能不一样,所以我认为你能够弄清楚其余部分 如果锚点不是id的直接子节点,则可以使用“find”而不是“children”。
您可以在此处进行测试:http://d.pr/VeGB/5KtUUeMT
答案 1 :(得分:0)
好的,这就是我的所作所为:
$(document).ready(
function()
{
// set default state from menu position attribute
});
$('#menu_btn').click(function()
{
if($('body').attr("data-menu-position") == 'closed')
{
// user clicked -> what to do on open }
else
{
// user clicked -> what to do on close }
});
完全符合预期。使用jquery
if
语句,我可以检查data-menu-position
值并删除我的链接,如下所示:
$('#menu_btn').click(function()
{
if($('body').attr("data-menu-position") == 'closed')
{
if($('body').attr("data-menu-position") == 'closed')
{
$("#menu_btn a").attr("href", "#");
}
}
}