2012-11-27 53 views
0

我在使用jquery.click在我的aspx頁面中使用菜單。在我的asp.net頁面。如果頁面沒有包含參數(比如「mypage.aspx」),點擊功能工作正常,我的菜單打開,但是當我打開帶有參數的頁面(比如「mypage.aspx?id = 3)」時,我的點擊功能不起作用,菜單未打開。當點擊菜單時,jquery.click函數不會觸發

這是我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

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

我的HTML代碼(打開菜單),我該怎麼辦?

+4

你第一次設置'menuStatus'嗎?可能錯誤是 –

+0

謝謝,但我嘗試更改其他部分,marginleft:0px到30 px,但沒有任何更改 – Pisagor

+0

您正在使用未在此點擊處理程序中定義的變量「menuStatus」。 'menuStatus'從哪裏得到它的值? –

回答

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> 
0

正如評論提及; menuStatus是關鍵。最初設置在哪裏?

我爲你創建了一個jsFiddle。我只是用文字而不是你的形象,但它應該有所幫助。請注意,我正在初始化menuStatus爲false。

jsFiddle here

0

謝謝大家,但我自己找到解決方案。

問題是,我在哪裏創建發送鏈接。

我以前的代碼是:

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

我添加了rel = 「外部」 和我的菜單每次工作!

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

還是謝謝!

相關問題