0

我通过两个名为 jYoutube 和 jGFeed 的插件将 youtube 用户的视频频道的提要带到页面上。

jGFeed: http: //archive.plugins.jquery.com/project/jgfeed
jYoutube:http: //archive.plugins.jquery.com/project/jyoutube

我被困在为什么这不起作用......我认为这就像一个简单的 if/else 语句一样简单,但它不起作用。

jQuery(document).ready(function($) {     
            $.jGFeed('http://gdata.youtube.com/feeds/base/users/POTATOwillEATyou/uploads?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile',
            function(feeds){
                // Check for errors
                if(!feeds){
                    // there was an error
                    return false;
                }
                var html = '';

                // do whatever you want with feeds here
                for(var i=0; i<feeds.entries.length; i++){
                    var entry = feeds.entries[i];

                //My attempt at alternating classes:
                if((i%2) == 0)
                    {
                        console.log('hello')
                        $(".thethumb").addClass("even");
                    }
                else
                    {
                        console.log('NOPE')
                        $(".thethumb").addClass("odd");
                    }
                //End of my attempt

                   html += '<a rel="vidbox" class="thethumb" target="_blank" href="' + entry.link + '" title="' + entry.title + '"><img src="' + $.jYoutube(entry.link, 'small') + '" class="thumb left"></a>';
                }
                $('#you_tube_feed').html(html);
            }, 25);
        });
4

2 回答 2

2

您的问题是您正在更改 ALL 的类.thethumb,并且在您运行该代码时它们不存在(它们在您的 html 字符串中)

for(var i=0; i<feeds.entries.length; i++)
{
    var entry = feeds.entries[i];

    var $new = $('<a rel="vidbox" class="thethumb" target="_blank" href="' + entry.link + '" title="' + entry.title + '"><img src="' + $.jYoutube(entry.link, 'small') + '" class="thumb left"></a>');

    if((i%2) == 0)
    {
        $new.addClass("even");
    }
    else
    {
        $new.addClass("odd");
    }

    $('#you_tube_feed').append($new);
}
于 2013-04-04T16:09:54.893 回答
1

由于您使用的是 JQuery,因此它更加简单。. . 首先添加所有缩略图,然后返回使用:evenand:odd选择器一次性添加所有类:

$('.thethumb:even').addClass('odd');
$('.thethumb:odd').addClass('even');

您会注意到,与选择器相比,类是切换的。. . 那是因为 JQuery 选择器是从 0 开始的,所以“0”、“2”、“4”等项实际上是选择中的第 1、2、5 等项。

于 2013-04-04T16:15:48.250 回答