微信公众号开发问题总结

模板的使用

  jsp <script type="text/html" id="list-tpl">
                {{if (results==null || results=='') && start==0}}
                <div class="no-data">
                    <img src="/resources/images/first-skin/no-data.png" />
                    <p>暂没数据!</p>
                </div>
                {{/if}} {{each results as v}}
                <div class="list-info clearfix" data-id="{{v.id}}">
                    <div class="list-img">
                        <img src="${serverUrl}/gridfs-download?f_id={{v.imgId}}">
                    </div>
                    <div class="list-detail">
                        <h3 class="this-title">{{v.title}}</h3>
                        <div class="this-content">{{v.summary}}</div>
                        <h5>
                            <span class="this-lastUpdate"><i class="img-last-update">      </i>{{v.lastUpdate | dateFormat:'yyyy-MM-dd'}}</span>
                            <span class="this-viewCount"><i class="img-view-count">      </i>{{v.viewCount}}</span>
                        </h5>
                    </div>
                </div>
                {{/each}}
            </script>
js// 加载列表数据
function addList(listParam) {
    var url = "/home-ajax/newsList";
    $.post(url, listParam, function(data) {
        console.log(data);
        var h = template("list-tpl", data);
        $('#list-body').append(h);
        listParam.totalPages = data.totalPages;
        listParam.pageIndex++;
    }, "json");
}



1.轮播图

js/
            <div class="swiper-container">
                <div class="swiper-wrapper" id='swiper-body'>

                </div>
                <div class="swiper-pagination"></div>
            </div>
// 初始化轮播图
function newSwiper() {
var mySwiper = new Swiper('.swiper-container', {
direction: 'horizontal',
loop: true,
// 如果需要分页器
pagination: '.swiper-pagination'
})
}
// 加载轮播图数据
function addSwiper() {
var url = "/home-ajax/swiper";
$.post(url, function(data) {
var h = template("swiper-tpl", data);
$('#swiper-body').html(h);
newSwiper();
}, "json");
}
 jsp <!--轮播图模块-->
<div class="swiper-container">
<div class="swiper-wrapper" id='swiper-body'> </div> <div class="swiper-pagination"></div> </div>
  <!-- 轮播图模板 -->
            <script type="text/html" id="swiper-tpl">
                {{each results as v}}
                <div class="swiper-slide">
                    <a href="{{v.linkUrl}}">
                        <img src="${serverUrl}/gridfs-download?f_id={{v.picId}}" />
                        <!-- <img src="/resources/images/first-skin/jingwu.png" /> -->
                    </a>
                    <p class="title">{{v.title}}</p>
                </div>
                {{/each}}
            </script>

2.滚动加载

js中写入:

 // 滚动加载
    $(document.body).infinite();
    var loading = false; //状态标记为不加载
    $(document.body).infinite(10).on("infinite", function() {
        if (loading) return; // 如果正在加载,则退出事件
        $(".loadmore .weui-loadmore").show();
        // 加载图标和无更多内容
        if (listParam.pageIndex >= listParam.totalPages) {
            $(".loadmore .weui-loadmore").hide();
            $(".loadmore .no-more-data").show();
            $(document.body).destroyInfinite();
            return;
        }
        loading = true;
        setTimeout(function() {
            addList(listParam);
            loading = false;
            $(".loadmore .weui-loadmore").hide();
        }, 1000);
    });
jsp中写入:

 
<div class="loadmore">
{{if (results==null || results=='') && start==0}}
                <div class="no-data">
                    <img src="/resources/images/first-skin/no-data.png" />
                    <p>暂没数据!</p>
                </div>
                {{/if}}

<div class="weui-loadmore"> <i class="weui-loading"></i> <span class="weui-loadmore__tips">正在加载</span> </div> <div class="no-more-data"> <p>暂无更多内容!</p> </div> </div>

script 模板中写入,可实现没有数据的时候显示无数据
jsp
{{if (results==null || results=='') && start==0}} <div class="no-data"> <img src="/resources/images/first-skin/no-data.png" /> <p>暂没数据!</p> </div> {{/if}}

3.浏览量加1

/**
	 * 单位详情页面
	 */
	@Override
	public void detail() {

		if (!this.isAjaxRequest()) {
			return;
		}
		if ("单位介绍".equals(this.typestr)) {
			Map<String, Object> params = new HashMap<>();
			params.put("typestr", "3001");
			entity = this.baseSrv.findBy(params).get(0);
		} else {
			entity = this.baseSrv.find(id);
		}
		
		this.sendResponseMsg(entity);
		entity.setViewCount(entity.getViewCount()+1);
		this.addOrUpdate();//浏览量+1
	
		
	}


4.两个按钮的切换

   
jsp
<div class="sort"> <div class="active" id="btn-new"> <i class="img-new">      </i>最新报道 </div> <div id="btn-hot"> <i class="img-hot">      </i>热门报道 </div> </div>

  
js
$("#btn-new").click(function() { $(this).addClass("active").siblings().removeClass("active"); }); $("#btn-hot").click(function() { $(this).addClass("active").siblings().removeClass("active"); });

5.日期字符串的截取

jsp
<div class="warningsigns-date"> <h5>{{v.lastUpdate.substring(5,7)}}月</h5> <h3>{{v.lastUpdate.substring(8,10)}}日</h3> </div>

6.小标签的使用

  
jsp
<div class="label"> [{{v.label}}] </div>

7.电话的呼叫

                    <div class="btn-call" data-phone="{{v.phone}}">
                        <a href="tel:{{v.phone}}">
                            <i class="img-phone-write">      </i>呼叫
                        </a>
                    </div>


8.两表关联显示(点击一个表时,显示关联的内容)

jsp
// 加载列表数据function addList(id) { var url = "/home-ajax/policeList"; listParam = { "id": id }; $.post(url, listParam, function(data) { console.log(data); var h = template("list-police-tpl", { "results": data }); $("#list-body").html(h); }, "json");}

 /**
     * 社区民警列表
     */
    public void policeList() {
        currUrl = "/police-presence-api!find";
        commonOper();
    }
//民警列表
	  public void find() {

	    	 try {  
	             sendResponseMsg(this.srv.findBy("thePoliceStationId",this.id));  //thePoliceStationId所属派出所的id
	         } catch (final Throwable e) { 
	             sendFailMsg("", "查询失败!");  
	         }  
	    }

9.按钮切换,浮动隐藏from表单项

   
js
$("#btn-realname").click(function() { $(this).addClass("active").siblings().removeClass("active"); $("#name").show(1000, function() { $(this).show(); }); $("#phone").show(1000, function() { $(this).show(); }); }); $("#btn-anonymous").click(function() { $(this).addClass("active").siblings().removeClass("active"); $("#name").hide(1000, function() { $(this).hide(); }); $("#phone").hide(1000, function() { $(this).hide(); }); });

  
jsp
<div class="btn-report"> <div class="active" id="btn-realname"> <a> 实名举报</a> </div> <div id="btn-anonymous"> <a>匿名举报</a> </div> </div>

10.微信端form表单的提交

js
$(".button-submit").click(function() { var params = $("#baseInfoForm").serialize();

$.ajax({
type: "POST",
url: "/home-ajax/illegalReportSubmit",
data: params,

success: function() {
alert("提交成功!");
}
});

});

11.电话号码的判断

jsp
<div class=" weui-cell div-phone" id="phone"> <div class="weui-cell__hd"> <i class="icon-phone"></i><label class="weui-label text-phone">电话</label></div> <div class="weui-cell__bd"> <input class="weui-input" type="number" pattern="[0-9]*" name="entity.phone" id="phoneid"> </div> </div>

js
var phone = document.getElementById("phoneid").value;
if (phone != "") { if (!(/^1[34578]\d{9}$/.test(phone))) { alert("请输入有效的手机号码!"); return false; } } else { alert("电话号不能为空!"); return false; }

12.文本框的字数显示和文字随着数字增长而减少,并提醒超过限制字数

js
//文本域中字数的限制和显示剩余输入的文字functioncheckLength(which) { var maxChars = 300; // if (which.value.length > maxChars) { alert("您出入的字数超多限制!"); // 超过限制的字数了就将 文本框中的内容按规定的字数 截取 which.value = which.value.substring(0, maxChars); return false; } else { var curr = maxChars - which.value.length; //250 减去 当前输入的 document.getElementById("sy").innerHTML = curr.toString(); return true; }}

    
jsp
<div class="text-box"> <div class="weui-cells weui-cells_form col"> <div class="weui-cells__title illegal"> <i class="icon-pencil"></i> <div> <p class="sty">违法行为描述</p> <p class="sty1">(数字在300字以内) </p> </div> </div> <div class="weui-cell"> <!-- //onkeyup事件会在键盘按键放开时发生 --> <div class="weui-cell__bd"> <textarea class="weui-textarea" placeholder="请输入文本" rows="3" name="entity.behaviorDescription" id="behaviorDescriptionid"onkeyup="checkLength(this);"></textarea> <div class=" weui-textarea-counter"><span id="sy">0</span>/300</div> </div> </div> </div> </div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值