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

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

报告相同问题?

悬赏问题

  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch