杰拉斯的博客
微信公众平台接口更新
杰拉斯 | 时间:2013-03-22, Fri | 19,134 views后台技术
3月19日,微信公众平台更新了接口,主要变更的接口有如下几点:
新用户订阅,将由之前推送一条“Hello2BizUser”文本,变化为推送一条“subscribe”的事件,变更于3月26日正式生效。
新增通用接口,通用接口是使用HTTP请求,让开发者直接与微信服务器交互,实现媒体文件上传、媒体文件获取等功能,达到获取图片、语音、视频等媒体文件的目的。调用接口所需要的access_token必须通过获取凭证接口获取。
新增自定义菜单接口,开发者获取使用凭证后,可以使用该凭证对公众账号的自定义菜单进行创建、查询和删除等操作。
新增事件消息类型,事件推送只支持微信4.5版本,目前仅开启自定义菜单接口事件推送。
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[FromUser]]></FromUserName> <CreateTime>123456789</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[EVENT]]></Event> <EventKey><![CDATA[EVENTKEY]]></EventKey> </xml>
参数 | 描述 |
---|---|
ToUserName | 接收方微信号 |
FromUserName | 发送方微信号,若为普通用户,则是一个OpenID |
CreateTime | 消息创建时间 |
MsgType | 消息类型,event |
Event | 事件类型,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件) |
EventKey | 事件KEY值,与自定义菜单接口中KEY值对应 |
一个最简单的jQuery焦点图插件实现
杰拉斯 | 时间:2013-03-10, Sun | 14,810 views前端开发
有一个同学需要在网页里用到简单的焦点图效果,在网上找了许多jQuery插件都不甚满意,有一些效果虽然不错,但是根本用不到那么多功能,大材小用不说,还会加大代码量,降低网页前端性能,于是花了十分钟写了一个最最简单的jQuery焦点图插件,麻雀虽小,五脏俱全,可定制宽高,切换延迟。代码如下:
HTML部分,自然是一个非常简单的列表结构:
<ul id="slider" class="slider">
<li><a target="_blank" href="javascript:void(0);"><img src="images/slider1.jpg" /></a></li>
<li><a target="_blank" href="javascript:void(0);"><img src="images/slider2.jpg" /></a></li>
<li><a target="_blank" href="javascript:void(0);"><img src="images/slider3.jpg" /></a></li>
<li><a target="_blank" href="javascript:void(0);"><img src="images/slider4.jpg" /></a></li>
<li><a target="_blank" href="javascript:void(0);"><img src="images/slider5.jpg" /></a></li>
</ul>
CSS部分,简单地定义一下样式:
.slider{
margin: 0 auto;
padding: 0;
width: 600px;
height: 400px;
list-style: none;
overflow: hidden;
position: relative;
}
.slider li{
top: 0;
left: 0;
width: 100%;
height: 100%;
position: absolute;
}
.slider img{
width: auto;
height: auto;
min-width: 100%;
min-height: 100%;
text-align: center;
}
接下来是精髓部分,JavaScript:
(function($){
var slider = function(args){
var index = 0;
var that = this;
var config = {
width : 600,
height : 400,
delay : 3000,
};
config = $.extend({}, config, args);
$(this).width(config.width).height(config.height).children().hide().eq(0).show();
setInterval(function(){
index = (index + 1) % $(that).children('li').length;
$(that).children().stop(true, false).fadeOut().eq(index).stop(true, false).fadeIn();
}, config.delay);
};
$.prototype.slider = slider;
})(jQuery);
调用方式如下:
$('#slider').slider({
width : 720,
height : 360,
delay : 5000
});
当然,如果直接使用默认参数的话也可以直接这样调用:
$('#slider').slider();
这只是一个最简单的Slider例子,但却涵盖了一些比较好的JavaScript编写思路,还有闭包等,欢迎在此之上进行二次开发,也欢迎与我交流技术上的问题~
Demo下载地址:
jQuery Bug:获取不到Chrome自动填充表单的值
杰拉斯 | 时间:2013-03-03, Sun | 14,917 views前端开发
// Stop chrome's autocomplete from making your input fields that nasty yellow. Yuck. if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0) { $(window).load(function(){ $('input:-webkit-autofill').each(function(){ var text = $(this).val(); var name = $(this).attr('name'); $(this).after(this.outerHTML).remove(); $('input[name=' + name + ']').val(text); }); }); }