0

私はまだ PHP と jQuery の両方を学んでいますが、これを試すのはかなり複雑なようです。

私ができるようにしたいのは、jCarousel の textscroller 機能を使用して、jCarousel が作成された XML フィードと URL ではなく、PHP 関数によって生成された URL のリストを表示することです。(デモ: http://sorgalla.com/projects/jcarousel/examples/special_textscroller.html )

私が使用したい WordPress PHP 関数は、WordPress カテゴリの一部またはすべての投稿に対して、HTML マークアップを含む URL のリストを生成します。

その結果、jCarousel の XML 関数や html クリエーター関数は必要ないと思いますし、文字列を切り詰める必要もありません。

では、jQuery 関数に PHP 関数を含めることはできますか、それとも、jCarousel に XML フィードを提供するのと同様に、jQuery 関数に PHP 関数から URL リストを取得させることはできますか? 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 です。

4

2 に答える 2

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
});
于 2009-07-06T17:29:09.653 に答える
0

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 形式で出力を送信する必要があります。

于 2009-07-07T08:37:57.907 に答える