saber 酱的抱枕

Fly me to the moon

09/23
2016
学习

网页评分工具demo

给文章或其他作品打分是很常见的功能,不过我之前做的网站里都没用到这个功能,于是今天自己写了个demo。

可以设置任意颗星星数;
可以设置一开始显示评分还是不显示评分;
每个人只能打分一次。
这个demo一星一分。


代码如下:

<div class="rate" data-value="0">
	<i title="1分"></i><i title="2分"></i><i title="3分"></i><i title="4分"></i><i title="5分"></i><i title="6分"></i><i title="7分"></i><i title="8分"></i><i title="9分"></i><i title="10分"></i>
</div>
<style type="text/css">
	.rate{height: 26px;}
	.rate i{display: inline-block;width: 26px;height: 100%;background-image: url(/f/pixiv_star.png);cursor: pointer;background-position: 0 0;}
    .rate .bgNone{background-position: 0px 0px;}
    .rate .bgHover{background-position: -26px 0px;}
    .rate .bgSure{background-position: -52px 0px;}
	.cursordef i{cursor:default;}
</style>
<script src="ratev0.1.js"></script>

外层div有个data-value属性,表示预设评分。设置为0则表示不显示这幅作品的评分,星星都不亮;大于0则为当前得分,并且会亮起对应的星星。
里面的每个i标签是一个星星,数量可以随意调整。
css样式里设置宽高来布局,并设置背景图片。把三种星星样式做到一张图片上,使用背景定位让三个样式显示三种背景图片。分别是bgNone(这个星星不亮的图案),bgHover(鼠标经过时星星亮起来),bgSure(这个星星有评分)。
当用户点击了一个星星后,会产生评分,之后就不能再点击了。

网页评分工具demo

06/17
2016
学习

TouchSlide的一些记录

最近做手机站用到了TouchSlide,记录一些现成的可以套用的范式。

banner切换:

<div id="focus" class="focus1">
	<div class="hd">
		<ul class="clearfix"></ul>
	</div>
	<div class="bd">
		<ul>
			<li><a href="swtlink"><img _src="images/banner1.jpg" src="images/blank.png" /></a></li>
			<li><a href="swtlink"><img _src="images/banner2.jpg" src="images/blank.png"/></a></li>
			<li><a href="swtlink"><img _src="images/banner1.jpg" src="images/blank.png"/></a></li>
		</ul>
	</div>
</div>
<script type="text/javascript">
	TouchSlide({
		slideCell:"#focus",
		titCell:".hd ul", //开启自动分页 autoPage:true ,此时设置 titCell 为导航元素包裹层
		mainCell:".bd ul",
		effect:"left",
		autoPlay:true,//自动播放
		autoPage:true, //自动分页
		switchLoad:"_src" //切换加载,真实图片路径为"_src"
	});
</script>

对应的css样式:

.banner{position: relative;}
.banner .hd{position: absolute;width: 54px;bottom: 3px;right: 3px;z-index: 999;}
.banner .hd li{width: 10px;height: 10px;background: #fff;border-radius: 10px;display: inline-block;margin:0 4px;overflow: hidden;color: #fff;cursor: pointer;}
.banner .hd li.on{background: #FFCC00;color: #FFCC00;}

tab切换:

<div id="tabBox1" class="tabBox">
	<div class="hd">
		<ul class="clearfix">
			<li class="on"><a href="javascript:void(0)">标题1</a></li>
			<li><a href="javascript:void(0)">标题2</a></li>
		</ul>
	</div>
	<div class="bd" id="tabBox1-bd">
		<div>内容</div>
		<div>内容</div>
	</div>
	<script type="text/javascript">
		TouchSlide({slideCell:"#tabBox1",effect:"leftLoop"});
	</script>
</div>

TouchSlide的一些记录

07/21
2015
学习

js左右切换带控制按钮的banner

之前发了个《js左右切换展示的效果》,作用是在小区域内展示内容并且可以左右来回切换。放在大区域用就不合适了,于是改大之后加上了指示器,加上了指示器跳转,加上了自动播放,改到最后改成了banner……很无语,单独放出来吧。

代码也很简单,需要修改功能的话也不难。

查看demo

js左右切换带控制按钮的banner

07/21
2015
学习

js左右切换展示的效果

今天设计的专题里有一块是要左右切换展示几位医生,写了这个效果之后单独摘出来做了个demo,方便以后使用。

我做的时候展示的区域很小,demo里给改大了。但是大了之后没有指示器,看起来很不正常,所以这个demo只适合小区域的、切换数量少的展示。可以做banner或者大区域内容展示的请看此处

这个没有指示器,不会自动切换,也不会首尾循环切换。有了上面那个,这个基本就没用了。

查看demo

要点如下:
li(或者相当于li的子区域)的class设置为srcoll_li;
ul宽度设置为所有li的宽度之和,然后li浮动。
用ul外层元素的超出隐藏来防止乱版。

js左右切换展示的效果