0

我正在使用 jquery.click 在我的 aspx 页面中使用菜单。在我的 asp.net 页面中。

如果页面不包含参数(例如“mypage.aspx”)点击功能可以正常工作并且我的菜单打开,但是当我打开带有参数的页面(例如“mypage.aspx?id=3)时,在页面中,我的点击功能没有'不起作用,菜单未打开。

这是我的 jquery.click 函数:

// Show menu
$("a.showMenu").click(function () {
    if (menuStatus != true) {
        $(".ui-page-active").animate({
            marginLeft: "165px",
        }, 300, function () {
            menuStatus = true
        });
        return false;
    } else {
        $(".ui-page-active").animate({
            marginLeft: "0px",
        }, 300, function () {
            menuStatus = false
        });
        return false;
    }
});

这是我在 mypage.aspx 中的 html 代码(打开菜单)

<a href="#" class="showMenu"><img src="images/icon-menu.png" alt="Menu" border="0" /></a>

我能怎么做?

4

4 回答 4

0

这是一个很好的测试,只是为了看看 jQuery 是否工作:

// Show menu
$("a.showMenu").click(function () {
    alert('I am here'); // <---
    if (menuStatus != true) {
        $(".ui-page-active").animate({
            marginLeft: "165px",
        }, 300, function () {
            menuStatus = true
        });
        return false;
    } else {
        $(".ui-page-active").animate({
            marginLeft: "0px",
        }, 300, function () {
            menuStatus = false
        });
        return false;
    }
});

如果没有,那么您是否引用了 jQuery.js 文件?就像是:

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
于 2012-11-27T20:55:56.317 回答
0

正如评论所提到的;menuStatus是关键。最初设置在哪里?

我为你创建了一个 jsFiddle。我只是使用文本而不是您的图像,但它应该有所帮助。请注意,我正在初始化menuStatus为 false。

jsFiddle在这里

于 2012-11-27T21:05:22.857 回答
0

我测试了你的代码并且它有效。我不确定你的问题在哪里。

在这个提琴手中,我测试了你的代码并且它有效

在这个提琴手中,我删除了menuStatus标志

为了删除menuStatus标志,我将click函数更改为:toggle

如果您可以更具体地了解您的错误,则更容易检测到问题

快乐编码!

于 2012-11-27T21:09:12.830 回答
0

谢谢大家,但我自己找到了解决方案。

问题是,我在哪里创建了发送链接。

我的旧代码是:

  <a href="mypage.aspx?id=3" >Go to My Page</a> »

我添加了 rel="external" 并且我的菜单每次都有效!

   <a href="mypage.aspx?id=3" rel="external">Go to My Page</a> »

不管怎么说,还是要谢谢你!

于 2012-11-28T08:59:30.650 回答