2012-03-27 6 views
0

Da meine jQuery Mobile App auf dem iPhone ziemlich langsam war, habe ich sie auf den RC hochgestuft, in der Hoffnung, die Geschwindigkeit zu verbessern.jQuery Mobile 1.1.0 RC 1 "Fehler beim Laden der Seite" auf NavBar klicken

Allerdings bekomme ich eine gelbe "Fehler beim Laden der Seite", wenn ich auf meine Navbar klicke.

ich es so bin Handhabung:

$('div[data-role="navbar"] a').live('tap', function() { 
    $(this).addClass('ui-btn-active'); 
    $('div.content_div').hide(); 
    $('div#' + $(this).attr('data-href')).show(); 
    $("#departureslist").listview("refresh"); 
    $("#arrivalslist").listview("refresh"); 
    return false; 
}); 

The View:

<body> 
    <div data-role="page" id="frontpage"> 
     <div data-role="header"> 
      <a data-icon="refresh" class="ui-btn-right" data-role="button" data-inline="true" data-iconpos="notext" id="refreshbutton"></a> 
       <div id="headerlogo"><img src="images/ajax-loader.gif" id="loader" /></div> 
       <div data-role="navbar"> 
        <ul> 
         <li><a data-href="front" id="menu-front">Oversigt</a></li> 
         <li><a data-href="kort" id="menu-kort">Kort</a></li> 
         <li><a data-href="a" id="menu-a">Afgange</a></li> 
         <li><a data-href="b" id="menu-b">Ankomster</a></li> 
        </ul> 
       </div> 
      </div> 
     <div data-role="content"> 
      <div id="front" class="content_div">   
      </div> 

      <div id="a" class="content_div"> 
      <ul data-role="listview" id="departureslist" data-theme="c"></ul>    </div> 

      <div id="b" class="content_div"> 
      <ul data-role="listview" id="arrivalslist"></ul> 
      </div> 

      <div id="kort" class="content_div"> 
      <img src="images/retinamap.png" style="width: 100%;" /> </div>    
     </div> 
    </div> 

</body> 

Antwort

1

Ich würde vorschlagen, die data-id Eigenschaft verwenden, anstatt data-href, und Sie sollten auch die ui-btn-active Klasse entfernen die Anker-Tags in der tap Handler, sonst werden alle Tasten schließlich aussehen, wie sie aktiv sind:

$('div[data-role="navbar"] a').live('tap', function() { 
    $('div[data-role="navbar"] a').removeClass('ui-btn-active'); 
    $(this).addClass('ui-btn-active'); 
    $('div.content_div').hide(); 
    $('#' + $(this).attr('data-id')).show(); 
    $("#departureslist").listview("refresh"); 
    $("#arrivalslist").listview("refresh"); 
    return false; 
});​​​​ 

Aktualisieren der navbar zu:

<div data-role="navbar"> 
    <ul> 
    <li><a data-id="front" id="menu-front">Oversigt</a></li> 
    <li><a data-id="kort" id="menu-kort">Kort</a></li> 
    <li><a data-id="a" id="menu-a">Afgange</a></li> 
    <li><a data-id="b" id="menu-b">Ankomster</a></li> 
    </ul> 
</div> 

dieses jsFiddle See.

+0

Hallo Ryan. Vielen Dank für Ihre Antwort, meine Bewerbung funktioniert jetzt großartig :) –

Verwandte Themen