douneiben2240 2013-09-06 16:47
浏览 50
已采纳

Jquery Mobile和Ajax Panel无法正常打开

I have a jquery mobile app that I'm using and I'm trying to get the right panel to open. Its for notifications. I have a feeling it has to do with with the ajax and it being done for multiple pages. I have many pages in the document and I have assigned unique id's for each "myContent" div and also for the function toggleDiv. For some reason when I click on the icon to open the panel it does nothing, and if i click it again it will open the panel then immediately close the panel.

Here is my code, any clues as to how this is happening?

<script type="text/javascript">
function toggleDiv(divId) {
   $("#"+divId).toggle();
$(document).ready(function(){
         $("#myContent").load("getnotes.php?name=<? echo $username; ?>");
    });
}
</script>

<!-- BEGIN PAGE 1 -->
<div data-role="page" id="feed" data-add-back-btn="true">
    <div data-role="panel" id="settingspanel" data-position="left" data-display="overlay">
<!--LEFT SIDE PANEL CONTENT HERE-->

    </div>

    <div data-role="header" data-position="fixed" data-theme="c" data-tap-toggle="false" data-id="foo1" style="padding-top: 5px; border-bottom: 1px solid #eccfb3; padding-bottom: 5px;">
        <a href="#settingspanel" data-role="button" data-iconpos="notext" class="icon-reorder icon-2x" style="background: none; margin-left: 20px;"></a>
        <center><img src="images/logo_app_white.png" height="25px"></center>

    <!--THIS IS THE BUTTON TO PUSH TO MAKE NOTIFICATIONS APPEAR-->  
        <a href="#myContent" data-ajax="false" onclick="toggleDiv('myContent');" data-role="button" data-iconpos="notext" class="icon-bell-alt icon-2x" style="background: none; margin-right: 20px;"></a><? echo $number; ?>
    </div>

    <div data-role="content">   

        <!--THIS IS WHERE CONTENT FOR THE PAGE GOES-->


    </div>
    <div data-role="footer" data-position="fixed" data-theme="c" data-tap-toggle="false" data-id="foo1" style="border-top: 1px solid #eccfb3; padding-top: 5px;">
        <div data-role="navbar" style="background: #ce8339;">
                <!--ICONS FOR NAVIGATION BAR-->
        </div><!-- /navbar -->  
    </div>

        <!--HERE IS WHERE THE NOTIFICATIONS APPEAR-->
    <div data-role="panel" id="myContent" data-position="right" data-display="overlay">


    </div>


</div>

<!-- END PAGE 1 -->
  • 写回答

1条回答 默认 最新

  • dongzhi4239 2013-09-06 20:52
    关注

    Get your document ready out of the function. And the toggle() to show().

    Change this

    function toggleDiv(divId) {
       $("#"+divId).toggle();
          $(document).ready(function(){
             $("#myContent").load("getnotes.php?name=<? echo $username; ?>");
          });
       }
    

    To this

    function toggleDiv(divId) {
       $("#"+divId).show();
    }
    
    $(document).ready(function(){
       $("#myContent").load("getnotes.php?name=<? echo $username; ?>");
    });
    

    DEMO

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)