我还在学习PHP和jQuery,这对我来说似乎是一件相当复杂的事情。
我希望能够做的是使用jCarousel的textscroller功能来显示由PHP函数生成的URL列表,而不是为jCarousel编写的XML feed和URL。 (演示:http://sorgalla.com/projects/jcarousel/examples/special_textscroller.html)
我想使用的WordPress PHP函数为WordPress类别中的部分或全部帖子生成一个带有一些html标记的URL列表。
因此,我认为我不需要jCarousel的XML函数或html创建函数,我也不需要截断字符串。
那么,是否可以在jQuery函数中包含PHP函数,或者我是否可以使用jQuery函数从PHP函数中检索URL列表,类似于向jCarousel提供XML提要?我需要使用jQuery-PHP库吗? http://jquery.hohli.com
任何答案将不胜感激。 - 马克
这是使用XML提要的jCarousel函数:(我省略了文档就绪函数)
function mycarousel_initCallback(carousel, state)
{
carousel.lock();
jQuery.get(
'special_textscroller.php',
{
'feed': 'http://jquery.com/blog/feed/atom/'
},
function(xml) {
mycarousel_itemAddCallback(carousel, xml);
},
'xml'
);
};
function mycarousel_itemAddCallback(carousel, xml)
{
var $items = jQuery('item', xml);
$items.each(function(i) {
carousel.add(i + 1, mycarousel_getItemHTML(this));
});
carousel.size($items.size());
// Unlock and setup.
carousel.unlock();
carousel.setup();
};
/**
* Item html creation helper.
*/
function mycarousel_getItemHTML(item)
{
return '<h3><a href="'+$('link', item).text()+'">'+$('title', item).text()+'</a></h3><p>'+mycarousel_truncate($('description', item).text(), 90)+'</p>';
};
/**
* Utility function for truncating a string without breaking words.
*/
function mycarousel_truncate(str, length, suffix) {
if (str.length <= length) {
return str;
}
if (suffix == undefined) {
suffix = '...';
}
return str.substr(0, length).replace(/\s+?(\S+)?$/g, '') + suffix;
};
这个WordPress PHP函数:
<?php $my_query = new WP_Query('category_name=mycategory&showposts=10'); ?><?php while ($my_query->have_posts()) : $my_query->the_post(); ?><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a><br /><br /><?php endwhile; ?>
生成如下的html:
<a href="URL" rel="bookmark">link title</a><br /><br /><a href="URL" rel="bookmark">link title</a><br /><br />, etc....
这是html我想要显示的jCarousel文本滚动条。
答案 0 :(得分:0)
你似乎错过了启动旋转木马的实际调用
html需要包含在div
中<div id="mycarousel">
<a href="URL" rel="bookmark">link title</a><br /><br />
<a href="URL" rel="bookmark">link title</a><br /><br />, etc....
</div>
然后致电
jQuery('#mycarousel').jcarousel({
vertical: true,
size: 0,
initCallback: mycarousel_initCallback
});
答案 1 :(得分:0)
in
function mycarousel_initCallback(carousel, state){
carousel.lock();
jQuery.get(
'special_textscroller.php',
{
'feed': 'http://jquery.com/blog/feed/atom/'
},
function(xml) {
mycarousel_itemAddCallback(carousel, xml);
},
'xml'
);};
这个方法你需要把你的WP-php文件名放在“special_textscroller.php”的位置 文件或可以使用您的WP功能更改“special_textscroller.php”。
同样,只有在您不想更改其他“jCarousel”功能时,才需要通过XML格式发送输出。