【问题标题】:How to use jCarousel with PHP function?如何将 jCarousel 与 PHP 函数一起使用?
【发布时间】:2009-07-06 17:02:45
【问题描述】:

我仍在学习 PHP 和 jQuery,在我看来这是一件相当复杂的事情。

我希望能够使用 jCarousel 的 textscroller 功能来显示由 PHP 函数生成的 URL 列表,而不是 XML 提要和编写 jCarousel 的 URL。 (演示:http://sorgalla.com/projects/jcarousel/examples/special_textscroller.html

我想使用的 WordPress PHP 函数为 WordPress 类别中的部分或所有帖子生成带有一些 html 标记的 URL 列表。

结果,我觉得我不需要jCarousel的XML函数或者html creator函数,也不需要截断字符串。

那么,是否可以在 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....

这是我希望 jCarousel 文本滚动条显示的 html。

【问题讨论】:

    标签: php jquery jcarousel


    【解决方案1】:

    您似乎错过了启动轮播的实际调用

    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
    });
    

    【讨论】:

    • 为了清楚起见,我省略了页面正文中的 HTML 代码;我想弄清楚的是如何让 jCarousel 使用 PHP 函数生成的 URL 列表,而不是原始函数中的 XML 提要
    【解决方案2】:

    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 格式发送输出。

    【讨论】:

      猜你喜欢
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      相关资源
      最近更新 更多