再次推荐一个国产jQuery日期输入插件


真的很高兴能够又推荐一个国人制作的非常优秀jQuery插件.
这次是一个日期输入插件,我正在使用中,速度很快,功能很全面,自定义性很强,作者制作的皮肤也比较漂亮,在美观程度上可能不如国外的UI Datepicker ,但是在速度上有绝对的优势,而且自己定义皮肤的话应该不比国外的UI Datepicker 差.

作者:My97
控件名称:My97DatePicker


官方介绍:



更人性化,更全面的功能

大部分日期控件都具备功能如:带时间显示,支持周显示,自定义格式,自动纠错,智能纠错,起始日期,操作按钮自定义,快速选择日期,支持多种调用模式等,My97DatePicker在这些方面做得更全面,更人性化,并且速度一流.
强大的日期范围限制功能

支持静态限制,动态限制,脚本自定义限制,以及无效天和无效日期功能,利用这样功能你可以任意定制不能选择的日期,这些日期即使毫无规律,毫无连续性,你也可以通过这些功能的组合使用轻松搞定.
自定义事件和丰富的API库

如果你需要做一些附加的操作,你也不必担心,日期控件自带的自定义事件可以满足你的需求.此外,你还可以在自定义事件中调用提供的API库来做更多的运算和扩展,绝对可以通过很少的代码满足你及其个性化的需求.
多语言支持和自定义皮肤支持

通过lang属性,可以为每个日期控件单独配置语言,当然也可以通过WdatePicker.js配置全局的语言,皮肤也是一样,只要配置skin属性即可.这样一个页面中可以显示多种语言,多种皮肤的日期控件,更棒的是,他们之间的切换是无刷新的.
跨无限级框架显示和自动选择显示位置

无论你把日期控件放在哪里,你都不需要担心会被外层的iframe所遮挡进而影响客户体验,My97日期控件是可以跨无限级框架显示的,并且当控件处在页面边界是,它会自动选择显示的位置.此外你还可以使用position参数对弹出位置做调整.

官方地址:http://www.my97.net/dp/index.asp
(阅读全文...)

推荐一个表单验证插件jQuery formValidator


首先万分感谢猫冬制作出这样一个专业的并且漂亮的表单验证插件.
前段时间一直在研究各种AJAX应用,大部分能够搞到手的都是国外的一些插件,很少接触国内高手们的作品,今天经过搜索找到了这个插件才突然感觉很多国内的作品甚至超过国外同行的东西.先说说我对这个表单验证插件的评价:
1.兼容性高
首先我用了一个国外的表单美化插件,再用某些国外的验证插件的时候就提示js错误,而用猫冬的这个作品的时候这个问题很好的被解决了.其次这个插件兼容各种浏览器.
2.验证迅速
这个没什么说的,很多代码都有这个好处呵呵..
3.代码简洁易懂
至少我是这样感觉,除了调用的两个JS文件之外,只需要很简单的几行js代码就可以实现验证
4.开源发布可以进行个人修改.
这点不用说了吧,很好很强大
5.功能全面
可以进行各种验证
截个图:



下面是作者的介绍:

jQuery formValidator表单验证插件是什么?

jQuery formValidator表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)脚本控制。目前支持5种大的校验方式,分别是:inputValidator(针对input、textarea、select控件的字符长度、值范围、选择个数的控制)、compareValidator(提供2个对象的比较,目前可以比较字符串和数值型)、ajaxValidator(通过ajax到服务器上做数据校验)、regexValidator(提供可扩展的正则表达式库) 、functionValidator (可使用外部函数来做校验)
本插件于其他校验控件最大的区别有3点:

1、校验功能可以扩展。
对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的,而formValidator是通过外部js文件来扩展的,你可以通过写正则表达式和函数来无限的扩展这些功能。

2、实现了校验代码于html代码的完全分离。
你的所有信息都无需配置在校验表单元素上,你只要在js上配置你的信息。使美工(界面)和javascript工程师的工作不交织在一起

3、你只需写一行代码就能完成一个表单元素的所有校验。你只需要写一行代码就能完成一下所有的控制

* 支持所有类型客户端控件的校验
* 支持jQuery所有的选择器语法,只要控件有唯一ID和type属性
* 支持函数和正则表达式的扩展。提供扩展库formValidatorReg.js,你可以自由的添加、修改里面的内容。
* 支持2种校验模式。第一种:文字提示(showword模式);第二种:弹出窗口提示(showalert模式)
* 支持多个校验组。如果一个页面有多个提交按钮,分别做不同得提交,提交前要做不同的校验,所以你得用到校验组的功能。
* 支持4种状态的信息提示功能,可以灵活的控制4种状态是否显示。第一种:刚打开网页的时候进行提示;第二种:获得焦点的时候进行提示;第三种:失去焦点时,校验成功时候的提示;第四种:失去焦点时,校验失败的错误提示。
* 支持自动构建提示层。可以进行精确的定位。
* 支持自定义错误提示信息。
* 支持控件的字符长度、值范围、选择个数的控制。值范围支持数值型和字符型;选择的个数支持radio/checkbox/select三种控件
* 支持2个控件值的比较。目前可以比较字符串和数值型。
* 支持服务器端校验。
* 支持输入格式的校验。

本插件发布地址:http://www.yhuan.com/formvalidator/index.html
(阅读全文...)


首先,一下方法能不能用的问题,这里回答是能用,当然了,只要你每条都敢用就行.
其次,不是什么真正的方法.仅仅是一点调侃.如果想要自己的博客浏览量好的话,还是需要勤勤恳恳的更新博客多发一些有见解的文章,还有最重要的一点是坚持.


以下:hobo原创文章(这也算文章?)随便转载,署名不限.
1.到热门的论坛把自己的签名图片搞的大一些连接到自己的blog,上面写着几个大字"下载地址",然后发一些比较常用的软件,写下载地址的时候文字尽量的小.
2.到百度知道里面注册几个马甲,发问题,自问自答,一定在回答中附上自己的博客地址.(问题要热门,要火辣)
3.在自己的博客上发一个关于爱母亲的文章,然后到QQ上说请把此网页转发给20个群,不转发的话母亲会在收到此信息后3天内遭遇不测.....
4.找个成人网站,发点诱惑的内容,然后详细内容请进入.....
5.快考四级的时候,随便找几个大学,找几个显眼的地方,贴上四级答案请登录......
6.在自己的博客发表一篇亲日文章,然后把网址发到几个爱国愤青多的地方.就会不断有人去你的博客留言了..

(阅读全文...)

Photoshop CS3 中文版教程106集 下载


首先是个人见解:这个教程在我认为是Photoshop入门和提高的最好的教程了,在网上看了很多不靠谱的教程之后还是感觉这个最实在,从各种工具讲起,如果以前对某些工具的时候有些淡忘的话可以用这个教程来巩固一下,如果从没有接触过Photoshop的话,看这个教程从头学起可以很快掌握.所以在深度论坛看到有人将这套教程打包提供下载了就尽快的下载下来并转发到这里,希望能给想要学习ps的朋友提供一些帮助.

作者:祁连山
教程简单介绍:
1.Photoshop CS3专家讲堂视频教程合集教程采用的是flash交互形式,大家可以通过教程下载练习素材,下载教程本身在本机观看,交互式学习.
2.提供好书介绍,给初学者介绍值得一看的好书,让大家有更多的选择.
3.改善了播放模式,当一个用户打开多个窗口同时下载多个教程时,可以先停止播放,让用户选择想看的教程,节省下载时间.
4.大幅提高教程的品质,没有任何噪音,让学习环境更好.
5.改善了教程文件结构,占用空间小,容易发布.
6.专人负责学习者作业的点评,以及帮助初学者学到实用的知识.



以下是目录:

第一章:软件概览     
1 Photoshop简介     2 软件界面概览     3 学习前的软件优化
4 位图图像,像素和矢量图像    
第二章:工具的基础使用    
5 建立新的图像     6 图像截取技术     7 搜索素材技巧
8 初识工具箱     9 初识选择区     10 规则选择工具组
11 不规则选择工具组     12 魔棒和快速选择工具     13 精细调整选区边缘
14 选择区的运算     15 移动工具选择层变换控件     16 多图层的对齐方法
17 多图层准确分布     18 利用自动对齐图层接片     19 裁剪图像
20 切片工具参考线切片法     21 编辑与划分切片     22 导出网页文件
23 污点修复画笔     24 修复画笔工具     25 修补工具
26 红眼工具     27 图章工具组     28 画笔工具
29 铅笔工具     30 颜色替换工具     31 历史记录画笔工具组
32 橡皮擦工具     33 模糊锐化和涂抹工具     34 加深减淡和海绵工具
35 渐变基础使用方法     36 渐变的五个模式     37 渐变编辑器
38 油漆桶工具     39 路径基础知识     40 创建基础形状
41 形状、路径和填充像素     42 钢笔工具基础用法     43 钢笔工具的扩展用法
44 基础路径变换改制法     45 字符工具基础用法     46 字符面板设置
47 段落面板设置     48 文字沿路径排版     49 用注释协同工作
50 吸管颜色取样器和标尺     51 抓手与放大镜工具     52 前景色与背景色
53 快速蒙版基础知识     54 例说快速蒙版     55 四种屏显模式
第三章:图层基础与操作技巧    
56 图层概述     57 图层复制新建与删除技巧     58 快速选择复制和链接层
59 图层锁定技巧     60 图层组     61 图层蒙版的使用方法
62 投影与内阴影样式     63 外发光和内发光样式     64 斜面和浮雕样式
65 光泽样式     66 叠加样式     67 例说描边样式
68 例说剪贴蒙版     69 填充层与扩展思维     70 智能对象与智能滤镜
71 颜色调整层            
第三章:通道基础知识    
72通道基础-是非观与黑白灰     73 颜色通道与Alpha通道     74 说通道-几个重要知识点
75 例说通道-制作选区     76 例说通道-合成收尾      
第四章:颜色模式    
77 颜色模式-灰度与位图     78 双色调模式     79 索引颜色模式
80 颜色模式-多通道     81 颜色模式-Lab     82 色光与颜料混合
83 颜色模式-RGB     84 颜色模式-CMYK     85 直方图
86 色阶调整     87 自动色阶对比度和颜色     88 曲线调整
89 色彩平衡     90 亮度对比度     91 黑白调整
92 色相饱和度     93 去色与灰度     94 匹配图像
95 颜色替换     96 可选颜色     97 通道混合器
98 渐变映射     99 照片滤镜     100 阴影高光
101 曝光度     102 反相     103 色调均化
104 阈值     105 色调分离     106 变化


文件大小:258.17 MB

下载地址: Rayfile网盘下载    纳米盘下载
(阅读全文...)

Javascript - document对象详解

注:此文纯属笔记,不是我的总结,作者未知,转载到这里是个人觉得这篇东西比较重要,需要记录下来.

[web编程]document对象详解
document 文挡对象 - JavaScript脚本语言描述
---------------------------------------------------------------------
注:页面上元素name属性和JavaScript引用的名称必须一致包括大小写
    否则会提示你一个错误信息 "引用的元素为空或者不是对象"
---------------------------------------------------------------------

对象属性
document.title              //设置文档标题等价于HTML的<title>标签
document.bgColor            //设置页面背景色
document.fgColor            //设置前景色(文本颜色)
document.linkColor          //未点击过的链接颜色
document.alinkColor         //激活链接(焦点在此链接上)的颜色
document.vlinkColor         //已点击过的链接颜色
document.URL                //设置URL属性从而在同一窗口打开另一网页
document.fileCreatedDate    //文件建立日期,只读属性
document.fileModifiedDate   //文件修改日期,只读属性
document.fileSize           //文件大小,只读属性
document.cookie             //设置和读出cookie
document.charset            //设置字符集 简体中文:gb2312
---------------------------------------------------------------------
常用对象方法
document.write()                   //动态向页面写入内容
document.createElement(Tag)        //创建一个html标签对象
document.getElementById(ID)        //获得指定ID值的对象
document.getElementsByName(Name)   //获得指定Name值的对象
document.body.appendChild(oTag)
---------------------------------------------------------------------

body-主体子对象
document.body                //指定文档主体的开始和结束等价于<body></body>
document.body.bgColor        //设置或获取对象后面的背景颜色
document.body.link           //未点击过的链接颜色
document.body.alink          //激活链接(焦点在此链接上)的颜色
document.body.vlink          //已点击过的链接颜色
document.body.text           //文本色
document.body.innerText      //设置<body>...</body>之间的文本
document.body.innerHTML      //设置<body>...</body>之间的HTML代码
document.body.topMargin      //页面上边距
document.body.leftMargin     //页面左边距
document.body.rightMargin    //页面右边距
document.body.bottomMargin   //页面下边距
document.body.background     //背景图片

document.body.appendChild(oTag) //动态生成一个HTML对象

常用对象事件
document.body.onclick="func()"           //鼠标指针单击对象是触发
document.body.onmouseover="func()"       //鼠标指针移到对象时触发
document.body.onmouseout="func()"        //鼠标指针移出对象时触发
---------------------------------------------------------------------
location-位置子对象

document.location.hash       // #号后的部分
document.location.host       // 域名+端口号
document.location.hostname   // 域名
document.location.href       // 完整URL
document.location.pathname   // 目录部分
document.location.port       // 端口号
document.location.protocol   // 网络协议(http:)
document.location.search     // ?号后的部分

documeny.location.reload()       //刷新网页
document.location.reload(URL)    //打开新的网页
document.location.assign(URL)    //打开新的网页
document.location.replace(URL)   //打开新的网页
---------------------------------------------------------------------
selection-选区子对象
document.selection
---------------------------------------------------------------------

images集合(页面中的图象)

a)通过集合引用
document.images              //对应页面上的<img>标签
document.images.length       //对应页面上<img>标签的个数
document.images[0]           //第1个<img>标签          
document.images[i]           //第i-1个<img>标签

b)通过nane属性直接引用
<img name="oImage">
document.images.oImage       //document.images.name属性

c)引用图片的src属性
document.images.oImage.src   //document.images.name属性.src

d)创建一个图象
var oImage
oImage = new Image()
document.images.oImage.src="1.jpg"
同时在页面上建立一个<img>标签与之对应就可以显示

<html>
<img name=oImage>
<script language="javascript">
    var oImage
    oImage = new Image()
    document.images.oImage.src="1.jpg"
</script>
</html>

<html>
<script language="javascript">
    oImage=document.caeateElement("IMG")
    oImage.src="1.jpg"
    document.body.appendChild(oImage)
</script>
</html>

----------------------------------------------------------------------

forms集合(页面中的表单)

a)通过集合引用
document.forms                  //对应页面上的<form>标签
document.forms.length           //对应页面上<form>标签的个数
document.forms[0]               //第1个<form>标签
document.forms[i]               //第i-1个<form>标签
document.forms[i].length        //第i-1个<form>中的控件数
document.forms[i].elements[j]   //第i-1个<form>中第j-1个控件

b)通过标签name属性直接引用
<form name="Myform"><input name="myctrl"></form>
document.Myform.myctrl          //document.表单名.控件名

c)访问表单的属性
document.forms[i].name          //对应<form name>属性
document.forms[i].action        //对应<form action>属性
document.forms[i].encoding      //对应<form enctype>属性
document.forms[i].target        //对应<form target>属性

document.forms[i].appendChild(oTag) //动态插入一个控件
-----------------------------------------------------------------------
<html>
<!--Text控件相关Script-->
<form name="Myform">
<input type="text" name="oText">
<input type="password" name="oPswd">
<form>
<script language="javascript">
//获取文本密码框的值
document.write(document.Myform.oText.value)
document.write(document.Myform.oPswd.value)
</script>
</html>
-----------------------------------------------------------------------
<html>
<!--checkbox,radio控件相关script-->
<form name="Myform">
<input type="checkbox" name="chk" value="1">1    
<input type="checkbox" name="chk" value="2">2    
</form>    
<script language="javascript">    
function fun(){    
   //遍历checkbox控件的值并判断是否选中    
   var length    
   length=document.forms[0].chk.length    
   for(i=0;i<length;i++){    
   v=document.forms[0].chk[i].value    
   b=document.forms[0].chk[i].checked    
   if(b)    
     alert(v=v+"被选中")    
   else    
     alert(v=v+"未选中")   
   }    
   }    
</script>     
<a href=# onclick="fun()">ddd</a>                     
</html>
-----------------------------------------------------------------------
<html>
<!--Select控件相关Script-->
<form name="Myform">
<select name="oSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>

<script language="javascript">
    //遍历select控件的option项
    var length
    length=document.Myform.oSelect.length
    for(i=0;i<length;i++)
    document.write(document.Myform.oSelect[i].value)
</script>

<script language="javascript">
    //遍历option项并且判断某个option是否被选中
    for(i=0;i<document.Myform.oSelect.length;i++){
    if(document.Myform.oSelect[i].selected!=true)
    document.write(document.Myform.oSelect[i].value)
    else
    document.write("<font color=red>"+document.Myform.oSelect[i].value+"</font>")  
    }
</script>

<script language="javascript">
    //根据SelectedIndex打印出选中的option
    //(0到document.Myform.oSelect.length-1)
    i=document.Myform.oSelect.selectedIndex
    document.write(document.Myform.oSelect[i].value)
</script>

<script language="javascript">
    //动态增加select控件的option项
    var oOption = document.createElement("OPTION");
    oOption.text="4";
    oOption.value="4";
    document.Myform.oSelect.add(oOption);
</script>
<html>
-----------------------------------------------------------------------
<Div id="oDiv">Text</Div>
document.all.oDiv                               //引用图层oDiv               
document.all.oDiv.style.display=""              //图层设置为可视
document.all.oDiv.style.display="none"          //图层设置为隐藏
document.getElementId("oDiv")                   //通过getElementId引用对象
document.getElementId("oDiv").style=""
document.getElementId("oDiv").display="none"
/*document.all表示document中所有对象的集合
只有ie支持此属性,因此也用来判断浏览器的种类*/

图层对象的4个属性
document.getElementById("ID").innerText   //动态输出文本
document.getElementById("ID").innerHTML   //动态输出HTML
document.getElementById("ID").outerText   //同innerText
document.getElementById("ID").outerHTML   //同innerHTML

<html>
<script language="javascript">
function change(){
document.all.oDiv.style.display="none"
}
</script>
<Div id="oDiv" onclick="change()">Text</Div>
</html>

<html>
<script language="javascript">
function changeText(){
document.getElementById("oDiv").innerText="NewText"
}
</script>
<Div id="oDiv" onmouseover="changeText()">Text</Div>
</html>
(阅读全文...)



我们都知道如果在 Blogger Beta 中进行搜索或选择任何一个分类标签时,结果总会是以全文来显示的,存档文件也是如此。如果我们的文章数量很多内容又长,再加上其中也许会有大量的图片或音 频视频的内容,这样就会大大的影响了页面读取的时间。而且在众多内容面前,你的读者们也不可能马上就找到感兴趣的文章,浏览效率因此降低了。如果我们能让 它只显示文章的标题,并给出其固定链接,一目了然,这个问题自然就得到解决了。你可以先在本博客上看到效果,如果感觉不错,下面就开始进行操作:

  进入 控制台布局 再进入 修改HTML 页面,最好先备份自己的模板,以免出错不好恢复。 勾选 扩展窗口小部件模板 前的勾,找到如下一段代码:

<b:widget id='Blog1' locked='false'title='Blog Posts' type='Blog'>
<b:includable id='main' var='top'>
<!-- posts -->
<div id='blog-posts'>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'>
<data:post.dateHeader/></h2>
</b:if>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:if cond='data:post.allowComments'>
<b:include data='post' name='comments'/>
</b:if>
</b:if>
</b:loop>
</div>

  将其中红色的部分替换成以下代码:

<b:if cond='data:blog.homepageUrl != data:blog.url'> <b:if cond='data:blog.pageType != "item"'>
<a expr:href='data:post.url'> <data:post.title/></a><br/><br/>
<b:else/>
<b:include data='post' name='post'/>
</b:if> <b:else/>
<b:include data='post' name='post'/>
</b:if>

  保存更新,这时你的标签、搜索与存档页面的显示结果就都是以文章标题来显示了。
原文由 GG 发布于 http://ggq1.blogspot.com/2006/12/bloggerblogger-beta_3690.html
(阅读全文...)

Blogger中添加版权声明的方法


版权问题是目前一个比较热门的话题。hhalloyy在他的Blog中提供了一个供Wordpress用户方便使用的添加版权声明的办法,很不错,虽然这样并不能很实际的解决抄袭成风的问题,但至少是一个态度的表明。代码如下:



  1. 作者: if ($count_users > 1) { ?> the_author_posts_link(); }  else { the_author()} ?>  发表于 the_time('F j, Y') ?> _e('at'); ?> the_time() ?>

    href="http://creativecommons.org/licenses/by-nc-sa/2.5/deed.zh">版权信息&
    lt;/a>: 可以任意转载, 转载时请务必以超链接形式标明文章
    原始出处作者信息及此声明

直接添加到帖子页或者其他你认为合适的页面就行了,无需改动什么,我这里想出一个专为Blogger的用户设计的代码,仅适用于Classic模式:


  1. <ItemPage>
  2. ...
  3. 作者: <$BlogItemAuthorNickname$>  发表于<$BlogItemDateTime$>
  4. <br>
  5. <a href="http://creativecommons.org/licenses/by-nc-sa/2.5/deed.zh">版权信息a>: 可以任意转载, 转载时请务必以超链接形式标明文章<a href="<$BlogItemPermalinkUrl$> ">原始出处a><a href="<$BlogURL$>">作者信息a>及此声明<br> 
  6. ...
  7. ItemPage>

将这段代码放在帖子页中你认为合适的地方即可。


(阅读全文...)

基于图像建立调色板(可用于建立配色方案)


be6215a9  这个一个Web工具,可以通过网络上的图片或者上传本地的图片然后通过分析得出几种不同的调色板,包括亮色调,中等色调,和暗色调三种调色板.还有完整的颜色显示.
Colors Pallete Generator


(阅读全文...)

200+ Photoshop高质量Web 2.0图层样式


感谢:Ronald的搜集
其次,翻译者:Hobo
原帖:200+ High Quality Web 2.0 Layer Styles Collection for Photoshop
你可以找到各式各样的Photoshop图层样式,其中一些很不错,有些则并不漂亮,图层样式对于图形设计经常是有用的,这里搜集一些优秀的高品质Web2.0的图层样式推荐给大家.

DesignerFolio

zeronix

Web 2.0 Layer Style

Gvalkyrie

wearwolfaa

verbaska

Layer Styles

crazykira


(阅读全文...)

15张有趣的卡通小纸人


这些卡通纸人搜集自网上,并不全面,也不知道作者是谁,但是足够的有趣,所以发上来共享一下,希望大家能喜欢.


(阅读全文...)

JS传中文参数时乱码的解决方法


JS传中文参数时乱码的解决方法.在网上看了几种方法,不知道是我理解的问题还是怎么回事,基本上看得都不是很明白,就这种方法,经过尝试,既简单又容易..(好像说的是一个意思).好了,把代码发出来如下:
var svalue = encodeURI(obj.value);
其中,obj.value可以是其他变量.
encodeURI 方法返回一个编码的URI
意思就是将obj.value中的字符编码为URI格式吧..
如果遇到同样问题的朋友可以尝试一下.
(阅读全文...)

用于画出漂亮光照线条的18组Photoshop笔刷


一些不可思议的光照效果笔刷,"丝光线条"应该可以比较准确的形容这些笔刷的作用.看图片说话吧,下载下来估计会用得上.
原文:18 Photoshop Brush Sets for Creating Incredible Lighting Effects
没有采用原文的说明,因为里面写的是关于另一个文章的一些东西.所以就不翻译了,下面把这些笔刷的图示和下载地址贴出来,希望大家喜欢.

Sui Generis 3

Fractal Brush

Fractal brushes

Abstract 12

CS4 V2 Brush

Destiny Brushes

Quantum Brushes

Lighting Set 4

Glow Brushes I

Nova Equinox Brushes

Light Brush Set

LIGHT II

Unreal Brushes v.1

LIGHT III

Abstract Glow

Genisis Brushes

Hyper Brushes

Ultimate Brush Pack No.3


(阅读全文...)