unslider无法使用mustache.js

时间:2017-12-14 19:49:57

标签: javascript mustache unslider jive

我目前正在使用一个使用jive平台的客户端,该平台只允许我将代码输入到html小部件中。我试图从rss feed中获取图像并在滑块中输入。

我目前正在使用小胡子来抓取Feed并创建模板。那部分我开始工作了。

然后渲染滑块内的图像(在ul内) 这也有效。

问题在于滑块有时会工作,有时则不会。它显示它是一个滑块,但没有看到导航中的幻灯片。没有任何内容附加在导航中的ol元素中。有时我看到它工作,当我重新加载页面时,它停止。不确定我做错了什么。

这是代码 - 我用其他东西替换了rss url。 https://jsfiddle.net/cjpbgcn8/

js code

$(function(){
        var renderNews = function(income){
            var rendObj = []
            $.grep(income, function (n, i) {
                var subject     = $(n).find('title').text(),
                        description = $(n).find('description').text().replace(/\<\!--(.*?)--\>/gi,""),
                        descriptionTrunk = $(description).text().replace(/"/gi,'\\"'),
                        link        = $(n).find('link').text(),
                        image
                if (descriptionTrunk.length > window._config.truncateTo)
                    descriptionTrunk = descriptionTrunk.substring(0,window._config.truncateTo)+"..."
                if( $(description).find('img').length ){
                    image  = $(description).find('img').first().attr('src')
                }else{
                    image = window._config.defaultImage
                }

                rendObj.push({subject: subject, description: descriptionTrunk, link: link, image: image})
            });

            var news = {news: rendObj}

            var tmpl = $('#scr_main').html();
            var out = Mustache.render(tmpl, news);
            $('#content').html(out);
            // $('.image-wrapper').imagefill({target:'.image'});
            resizeMe();
        }


        var getNews = function(){
            return $.Deferred(function(defer) {
                $.ajax({
                    type: 'GET',
                    url: window._config.rss,
                    success: function(json) {
                        defer.resolve(json);
                    },
                    error: function(json) {
                        defer.reject(json);
                    }

                });
            }).promise();
        };

        getNews().always(function(res){
                    var response = $(res).find('item').slice(0,window._config.count);
                    if (response.length == 0){
                        //no results screen
                        var tmpl = $('#scr_nores').html();
                        var out = Mustache.render(tmpl);
                        $('#content').html(out);
                        resizeMe();
                    }

                    else if(response.length){
                        renderNews(response);
                    }

                    else{///error handling
                        var tmpl = $('#scr_error').html();
                        var out = Mustache.render(tmpl);
                        $('#content').html(out);
                        resizeMe();
                    }
                }
            );
        })

0 个答案:

没有答案