-2

私はこの大きなコードを持っています:

function _buildPlaylist() {
        //console.log('_buildPlaylist');

        _lastThumbOrientation=null;//important, make thumb holder every time on new playlist
        _playlistOpened=false;//reset for bottom this._autoOpenPlaylist selection

        var len = _videoProcessData.length, i = 0, thumb, div, _item, active_icon;
        //console.log('len = ', len);

        if(getDeeplinkData){
            dlink = baseURL + strict + firstLevel + '/';
            var str_to_filter, tempArr = categoryArr[activeCategory].mediaName;
        }

        for (i; i < len; i++) {
            //console.log(_item.description);

            _item = _videoProcessData[i];

            //deeplinks
            if(useDeeplink && getDeeplinkData){
                str_to_filter = filterAllowedChars(_item.deeplink);
                //console.log(str_to_filter);
                tempArr.push(str_to_filter);
            }

            playlistLength+=1;

            if(outputDeeplinkData){
                if(_item.type == 'local'){//aspect ratio always present
                    if(mp4Support){
                        loc_path = _item.mp4Path;
                    }else if(vorbisSupport){
                        loc_path = _item.ogvPath;
                    }else if(webmSupport){
                        if(_item.webmPath)loc_path = _item.webmPath;
                    }
                    if(loc_path.lastIndexOf('/')){
                        loc_name = loc_path.substr(loc_path.lastIndexOf('/')+1);
                    }else{
                        loc_name = loc_path;
                    }
                    deeplinkData.push({'id': playlistLength, 'name': loc_name, 'type':_item.type ,'video-id': loc_path, 'deeplink': dlink+_item.deeplink});
                }else{
                    deeplinkData.push({'id': playlistLength, 'name': _item.title?_item.title:'', 'type':_item.type ,'video-id': _item.id, 'deeplink': dlink+_item.deeplink});
                }
            }

            div = $('<div/>').addClass('thumbs').attr({'data-id': playlistLength-1, 'data-type': _item.type});
            if(thumbHolder)div.appendTo(thumbInnerContainer).bind('click', clickPlaylistItem);

            if(_item.type == 'local'){//aspect ratio always present
                div.attr({'mp4Path': _item.mp4Path, 'ogvPath': _item.ogvPath, 'webmPath': _item.webmPath?_item.webmPath:'', 'imagePath': _item.imagePath, 'data-aspectRatio': _item.aspectRatio});
            }else{
                div.attr('path', _item.id);
                if(currentObj.ytSizeSet){//if we have width and height, aspect ratio always present
                    div.attr({'data-width': currentObj.mediaWidth, 'data-height': currentObj.mediaHeight, 'data-aspectRatio': currentObj.aspectRatio});
                }
            }

            if(thumbHolder){
                //create thumb
                if(_item.thumbnail){
                    thumb=$(new Image()).addClass('thumb_img').appendTo(div).attr('alt', _item.title?_item.title:'').css({
                       cursor:'pointer',
                       opacity:0
                    }).load(function() {
                        //console.log($(this))
                        $(this).stop().animate({ 'opacity':1}, {duration: 500, easing: 'easeOutSine'});//fade in thumb
                    }).error(function(e) {
                        //console.log("thumb error " + e);
                    }).attr('src', _item.thumbnail);
                }

                //active icon
                active_icon = $(new Image()).appendTo(div).css({
                    position: 'absolute',
                    display: 'none'
                }).load(function() {
                    //console.log(width,height);
                    $(this).css({
                        width: this.width,
                        height: this.height,
                        left: 50+'%',
                        top: 50+'%',
                        marginLeft: -this.width/2+'px',
                        marginTop: -this.height/2+'px'
                    })
                }).error(function(e) {
                    //console.log("error " + e);
                }).attr('src', ic_active_thumb);

                div.data('active_icon',active_icon);
            }

            _thumbHolderArr.push(div);//we need to have data to manipulate
        }

        checkPlaylistProcess();
    }

(これは youtube api javascript コードです。それが行うことは、ビデオの alt 属性 title を持つサムネイルを生成することです。

私が欲しいのは、ビデオのタイトルだけを生成することです。サムネイルなし。

コードは次の html を生成します (サムネイル付き)

<div class="thumbInnerContainer" style="top: 0px; left: 0px; width: 3500px;">

<div class="thumbs playlistSelected" data-id="0" data-type="youtube" path="tRe8JfAQmpI" data-width="640" data-height="360" data-aspectratio="2"><img class="thumb_img" alt="Accelerator after effects project file" style="cursor: pointer; opacity: 1;" src="http://i.ytimg.com/vi/tRe8JfAQmpI/hqdefault.jpg"><img style="position: absolute; display: block; width: 37px; height: 37px; left: 50%; top: 50%; margin-left: -18.5px; margin-top: -18.5px;" src="data/icons/active_item.png">
</div>
<div class="thumbs" data-id="1" data-type="youtube" path="QeusWQ4LFmY" data-width="640" data-height="360" data-aspectratio="2"><img class="thumb_img" alt="After Effects Template Platform" style="cursor: pointer; opacity: 1;" src="http://i.ytimg.com/vi/QeusWQ4LFmY/hqdefault.jpg"><img style="position: absolute; display: none; width: 37px; height: 37px; left: 50%; top: 50%; margin-left: -18.5px; margin-top: -18.5px;" src="data/icons/active_item.png">
</div> 
<div class="thumbs" data-id="2" data-type="youtube" path="srGUFQwONXc" data-width="640" data-height="360" data-aspectratio="2"><img class="thumb_img" alt="Photo Album - After Effects Template" style="cursor: pointer; opacity: 1;" src="http://i.ytimg.com/vi/srGUFQwONXc/hqdefault.jpg"><img style="position: absolute; display: none; width: 37px; height: 37px; left: 50%; top: 50%; margin-left: -18.5px; margin-top: -18.5px;" src="data/icons/active_item.png">
</div>
</div>

今、これが私が生成したいものです。(画像 alt タイトル属性のみ、サムネイルなし。)

<div class="thumbInnerContainer" style="top: 0px; left: 0px; width: 3500px;">

<div class="thumbs playlistSelected" data-id="0" data-type="youtube" path="tRe8JfAQmpI" data-width="640" data-height="360" data-aspectratio="2">
  Accelerator after effects project file
</div>
<div class="thumbs" data-id="1" data-type="youtube" path="QeusWQ4LFmY" data-width="640" data-height="360" data-aspectratio="2">
   After Effects Template Platform 
</div>
<div class="thumbs" data-id="2" data-type="youtube" path="srGUFQwONXc" data-width="640" data-height="360" data-aspectratio="2">
    Photo Album - After Effects Template
</div>
</div>

注: これらの行を見つけて、html がどのように生成されているかを確認してください。

//create thumb
                if(_item.thumbnail){
                    thumb=$(new Image()).addClass('thumb_img').appendTo(div).attr('alt', _item.title?_item.title:'').css({
                       cursor:'pointer',
                       opacity:0
                    }).load(function() {
                        //console.log($(this))
                        $(this).stop().animate({ 'opacity':1}, {duration: 500, easing: 'easeOutSine'});//fade in thumb
                    }).error(function(e) {
                        //console.log("thumb error " + e);
                    }).attr('src', _item.thumbnail);
                }

サムネイルなしでタイトルのみを生成するように変更するにはどうすればよいですか?

4

1 に答える 1

0

この行を変更する必要があります。

div = $('<div/>').text(_item.title ? _item.title : '')....  

そして、if2 つの要素を生成し<img/>、それらを. あなたはそれを望まないので、あなたはそれをすべて捨てることができます.<div/>div

if (thumbHolder) {
  ...
}
于 2013-01-07T20:35:28.627 に答える