0

PhoneGap で iPhone アプリケーションを作成しています。Facebook RSS フィードを解析し、jFeed を使用して解析しようとしています。フィードを取得し、それをユーザーに表示できます。ただし、(JQuery Mobile CSS 属性を使用して) 見栄えを良くするために RSS フィードのスタイルを設定する場合、属性 (ul および li マーカー) は考慮されません。JQuery Mobile を使用して RSS フィードのスタイルを設定する方法はありますか? これが私が使用しているコードです(index.html):

<!DOCTYPE html> 
<html> 
<head> 
<title>BDA Audencia</title> 
<meta charset="utf-8" />
<meta content="yes" name="apple-mobile-web-app-capable">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1,
minimum-scale=1, width=device-width, height=device-height, 
target-densitydpi=device-dpi" />
<!-- JQUERY CSS -->
      <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />

<!-- CORDOVA - PHONE GAP -->
<script type="text/javascript" src="cordova-2.4.0.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<link rel="stylesheet" href="style/site.css">

<!-- RSS FEED -->
<script type="text/javascript" src="js/jquery.jfeed.pack.js"></script>
      <script>

          jQuery(function() {

                 jQuery.getFeed({
                                url: 'http://www.facebook.com/feeds/page.php?id=360453900718092&format=atom10',
                                success: function(feed) {


                                var html = '';

                                for(var i = 0; i < feed.items.length && i < 5; i++) {

                                var item = feed.items[i];

                                html += '<li data-role="list-divider"><span style=" right: 45px;position: absolute; font-size: 11px; font-weight: bold; padding: .2em .5em; top: 50%; margin-top: -.95em;; right: 10px;">'
                                + item.updated
                                + '</span></li>'
                                + '<li>'
                                + item.description
                                + '</li>';


                                }
                                html += html + '';
                                jQuery('#result').append(html);
                                }    
                                });
                 });

        </script>
    <!-- Changing the position of this code will not make $.mobile.defaultPageTransition work. DO NOT CHANGE IT -->
    <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head> 
<body>


<div data-role="page" id="index">
<div data-role="header" data-position="fixed">
<h1>Test RSS</h1>
</div>

<div data-role="content">   
        <div class="content-primary">
            <ul data-role="listview" data-theme="d" data-divider-theme="d">
            <div id="result"></div>
                </ul>
                </div>
</div>

<div data-role="footer" data-theme="d">
</div>
</div><!-- /page one -->
4

1 に答える 1

1

div直接内部ulは不適切な HTML 構造です。

<ul data-role="listview" data-theme="d" data-divider-theme="d">
  <div id="result"></div>
</ul>

以下のように変更してください

<ul id="result" data-role="listview" data-theme="d" data-divider-theme="d">
</ul>

次に、jQuery('#result').append(html);このコードの後に​​、リストビューを更新するコードを追加します。pagecreate 時に jquery モバイル マーカーが生成されたためです。あなたの場合、データを動的に取得してリストビューを作成します。したがって、 uisng でリストビューを更新する必要があります.listview( "refresh" )

修正されたコードは次のようになります。

$('#result').append(html);
$('#result').listview("refresh");

jquery モバイルのリストビューの詳細。
参考: http: //jquerymobile.com/demos/1.2.0/docs/lists/lists-methods.html

于 2013-02-28T18:20:33.263 に答える