gpt4 book ai didi

jquery - ListView 无法在 jQuery Mobile 中工作

转载 作者:行者123 更新时间:2023-12-01 05:05:25 25 4
gpt4 key购买 nike

我正在尝试从某个源动态获取提要,然后我想在 jQuery mobile 中以列表的形式显示每个链接。我能够获取提要,但即使我保留了 data-role="listview"unorderedlist.listview('refresh'),它们也能正常显示。

enter image description here下面是代码

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>

<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>
<style type="text/css">
.nstyle
{
data-role:listview;
list-style:none;
}

</style>

<script>
$(document).ready(function(){

$("#toi").rssfeed("http://timesofindia.feedsportal.com/c/33039/f/533974/index.rss",{limit:5,date:false,header:false,content:false});

});
</script>


<script type="text/javascript">

(function($){



var current=null;
$.fn.rssfeed=function(url,options){
var defaults={limit:10,header:true,titletag:'h4',date:true,content:true,snippet:true,showerror:true,errormsg:'',key:null};
var options=$.extend(defaults,options);
return this.each(function(i,e){var $e=$(e);
if(!$e.hasClass('rssFeed'))$e.addClass('rssFeed');
if(url==null)return false;
var api="http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q="+url;
if(options.limit!=null)
api+="&num="+options.limit;
if(options.key!=null)api+="&key="+options.key;
$.getJSON(api,function(data)
{if(data.responseStatus==200)
{_callback(e,data.responseData.feed,options);
}
else{
if(options.showerror)
if(options.errormsg!='')
{
var msg=options.errormsg;
}else
{
var msg=data.responseDetails;
};
$(e).html('<div"><p>'+msg+'</p></div>');};});});};

var _callback=function(e,feeds,options){if(!feeds){return false;
}
var html='';
var row='odd';
if(options.header)
html+='<div>'+'<a href="'+feeds.link+'" title="'+feeds.description+'">'+feeds.title+'</a>'+'</div>';
html+='<div>'+'<ul id="tst">';
for(var i=0;i<feeds.entries.length;i++)
{var entry=feeds.entries[i];
var entryDate=new Date(entry.publishedDate);
var pubDate=entryDate.toLocaleDateString()+' '+entryDate.toLocaleTimeString();
html+='<li class="rssRow '+row+'">'+'<'+options.titletag+'><a href="'+entry.link+'" title="View this feed at '+feeds.title+'">'+entry.title+'</a></'+options.titletag+'>'
if(options.date)html+='<div>'+pubDate+'</div>'
if(options.content)
{if(options.snippet&&entry.contentSnippet!=''){var content=entry.contentSnippet;
}else{var content=entry.content;
}

html+='<p>'+content+'</p>'}
html+='</li>';if(row=='odd'){row='even';}else{row='odd';}}
html+='</ul>'+'</div>'

$(e).html(html);
$("#tst").addClass('nstyle');
$("#tst").listview('refresh');
};

})(jQuery);
</script>





</head>
<body>
<div data-role="page" id="home" data-theme="e">
<div data-role="header" >
<h1>Times Of India</h1>
</div>
<div data-role="content" id="toi">
content here
</div>
<div data-role="footer">
<h4>Top News</h4>
</div>
</div>


</body>
</html>

最佳答案

更改:

$(document).ready(function(){
$("#toi").rssfeed("http://timesofindia.feedsportal.com/c/33039/f/533974/index.rss",{limit:5,date:false,header:false,content:false});

});

致:

 $(document).ready(function(){
$('#home').live('pagebeforecreate', function(){
$("#toi").rssfeed("http://timesofindia.feedsportal.com/c/33039/f/533974/index.rss",{limit:5,date:false,header:false,content:false});
});
});

更新:

这就是你所追求的吗? http://jsfiddle.net/8EGGZ/25/

最后,我在回调函数中将 listview.refresh() 替换为 $("#toi").page();

更新2:

修复了 jquery-mobile 问题 - http://jsfiddle.net/8EGGZ/27/

关于jquery - ListView 无法在 jQuery Mobile 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6387214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com