发新贴  快速回复

问下这段代码应该怎么封装才好?

hhmyc
2014-04-24 13:54
 本帖最后由 hhmyc 于 2014-4-24 14:13 编辑 

iscroll的刷新,ajax加载的列表不一样 所以需要封装一下 不知道怎么封装才好

[img]static/image/hrline/line3.png[/img]

var myScroll, pullDownEl, pullDownOffset, pullUpEl, pullUpOffset;

function pullDownAction () {
    var thisLi = $('#thelist li:first');
    pushHTML(thisLi);
}

function pullUpAction () {
    var thisLi =$('#thelist li:last');
    pushHTML(thisLi);
}

function loaded() {
    pullDownEl = $('#pullDown');
    pullDownOffset = pullDownEl.get(0).offsetHeight;
    pullUpEl = $('#pullUp');   
    pullUpOffset = pullUpEl.get(0).offsetHeight;
    myScroll = new iScroll('wrapper', {
        useTransition: true,
        topOffset: pullDownOffset,
        onRefresh: function () {
            do something...
        },
        onScrollMove: function () {
           do something...
        },
        onScrollEnd: function () {
            if (pullDownEl.hasClass('flip')) {
                do something...              
                pullDownAction();
            } else if (pullUpEl.hasClass('flip')) {
                do something...               
                pullUpAction(); 
            }
        }
    });
}

function pushHTML(thisLi){
    setTimeout(function () {
        $.ajax({
            type : 'POST',
            dataType : 'json',
            url : '/page/jqm/json_test',
            success : function(data){
                var liParent = thisLi.parent();
                $.each(data, function(index, el) {

                    var html = '';

                    html+='<li>'
                    html+='<a href="'+el.linkUrl+'" data-transition="slide">'
                    html+='<img src="'+el.imgUrl+'">'
                    html+='<h2><span class="right">'+el.time+'</span>'+el.address+'</h2>'
                    html+='<p>'+el.paragraph+'</p>'
                    html+='</a>'
                    html+='</li>'

                    thisLi.hasClass('ui-first-child') ? thisLi.before(html) : liParent.append(html);

                });

                liParent.listview( "refresh" );
                myScroll.refresh();
            }
        });
        
    }, 100);

}

调用loaded部分

$(function(){

    loaded();

})


hhmyc
问下这段代码应该怎么封装才好?
2014-04-28 12:41  回复本帖
hhmyc
0.0 ~~~~~~~~~~~~~~~~~~~~~~~~
2014-04-28 12:42  回复本帖
 
zmouse
封装好坏是依据实际需求的,那你是觉得具体那块地方觉得封装不满意,或者说是你具体想要的封装需求是什么!
2014-04-28 21:56  回复本帖
hhmyc
forum.php?mod=redirect&goto=findpost&pid=26106&ptid=8080
封装好坏是依据实际需求的,那你是觉得具体那块地方觉得封装不满意,或者说是你具体想要的封装需求是什么! ...

就是 ajax列表那结构不同 各种列表 其他的都一样
2014-04-28 22:09  回复本帖
hhmyc
forum.php?mod=redirect&goto=findpost&pid=26106&ptid=8080
封装好坏是依据实际需求的,那你是觉得具体那块地方觉得封装不满意,或者说是你具体想要的封装需求是什么! ...

 var html = '';

                    html+='<li>'
                    html+='<a href="'+el.linkUrl+'" data-transition="slide">'
                    html+='<img src="'+el.imgUrl+'">'
                    html+='<h2><span class="right">'+el.time+'</span>'+el.address+'</h2>'
                    html+='<p>'+el.paragraph+'</p>'
                    html+='</a>'
                    html+='</li>'

这的结构有变化
2014-04-28 22:10  回复本帖
 
zmouse
forum.php?mod=redirect&goto=findpost&pid=26076&ptid=8080
0.0 ~~~~~~~~~~~~~~~~~~~~~~~~

pushHTML(function(data) {
    var liParent = thisLi.parent();
    $.each(data, function(index, el) {

        var html = '';

        html+='<li>'
        html+='<a href="'+el.linkUrl+'" data-transition="slide">'
        html+='<img src="'+el.imgUrl+'">'
        html+='<h2><span class="right">'+el.time+'</span>'+el.address+'</h2>'
        html+='<p>'+el.paragraph+'</p>'
        html+='</a>'
        html+='</li>'

        thisLi.hasClass('ui-first-child') ? thisLi.before(html) : liParent.append(html);

    });

    liParent.listview( "refresh" );
    myScroll.refresh();
})
pushHTML(function(data) {
    alert(data)
})

function pushHTML(callback){
    setTimeout(function () {
        $.ajax({
            type : 'POST',
            dataType : 'json',
            url : '/page/jqm/json_test',
            success : function(data){
                callback(data);
            }
        });
        
    }, 100);

}

供参考
2014-04-28 22:35  回复本帖
hhmyc
forum.php?mod=redirect&goto=findpost&pid=26109&ptid=8080
供参考

不知道是不是我没理解意思 赶脚不太对 因为 不同的页面调用的是 
$(function(){

        loaded();

})
2014-04-29 09:21  回复本帖
hhmyc
forum.php?mod=redirect&goto=findpost&pid=26109&ptid=8080
供参考

按照你的方法试了下 把callback传给 loaded 是可以不同页面调用了 但是没地方判断是before(html)还是append(html) 唉 放弃了
2014-04-29 10:08  回复本帖
 
zmouse
可以在回调中去判断,在回调中判断该怎么添加,尽量把功能独立。获取数据就是获取数据,添加内容就做添加内容!
2014-04-29 20:42  回复本帖
hhmyc
forum.php?mod=redirect&goto=findpost&pid=26120&ptid=8080
可以在回调中去判断,在回调中判断该怎么添加,尽量把功能独立。获取数据就是获取数据,添加内容就做添加内 ...

收到 多谢!
2014-05-04 14:23  回复本帖
登录 后才可以发表回复