您的位置:首页 > Web前端 > JQuery

jQuery 学习笔记之十六 评分

2011-04-01 14:35 405 查看
单击产品小图片时,上面对应的大图片需要切换,并且大图片的放大镜效果和遮罩效果也必须同时切换。
实现这个效果并不难,但为了使程序更加简单,需要为图片使用基于某种规则的命名。
例如为小图片命名blue_one_small.jpg ,为大图片命名为blue_one_big.jpg
这样就可以很容易地根据单击的图片(blue_one.jpg)来获取相应的大图片和小图片,代码如下:
$(funciton(){
$(".pro_detail_left ul li img").click(function(){
var imgSrc=$(this).attr("src");
var i = imgSrc.subString(i);
imgSrc = imgSrc.substring(0,i);
var imgsrc_small=imgsrc+"_small"+unit;
var imgsrc_big  = imgSrc+"_big"+unit;
$("#bigImg").attr({"src":imgSrc_small,"jqimg":imgsrc_big});
$("#thickImg").attr("href",imgSrc_big);
});
)};
通过lastindex()方法,获取到图片文件名中最后一个"."的位置,然后在substring()
方法中使用该位置来分隔文件名,得到"blue_one"和".jpg"两部分,最后通过拼接"_small"
和"_big"来得到相应的小图片和大图片,将它们赋给id为"bigImg"和id为"thickImg"的元素。

<div class="pro_rating">
给商品评分:
<ul class="rating nostar">   // 设置样式
<li class="one"><a href="#" title="1分">1</a></li>
<li class="two"><a href="#" title="2分">2</a></li>
<li class="three"><a href="#" title="3分">3</a></li>
<li class="four"><a href="#" title="4分">4</a></li>
<li class="five"><a href="#" title="5分">5</a></li>
</ul>

/* 评分css */
.rating{
width:80px;
height:16px;
margin:0 0 20px 0;
padding:0;
list-style:none;
clear:both;
position:relative;
background: url(../images/star-matrix.gif) no-repeat 0 0;
}

.nostar   {background-position:0 0}
.onestar  {background-position:0 -16px}
.twostar  {background-position:0 -32px}
.threestar{background-position:0 -48px}
.fourstar {background-position:0 -64px}
.fivestar {background-position:0 -80px}

ul.rating li {
cursor: pointer;
float:left;
text-indent:-999em;
}
ul.rating li a {
position:absolute;
left:0;
top:0;
width:16px;
height:16px;
text-decoration:none;
z-index: 200;
}

ul.rating li.one a {left:0}
ul.rating li.two a {left:16px;}
ul.rating li.three a {left:32px;}
ul.rating li.four a {left:48px;}
ul.rating li.five a {left:64px;}
ul.rating li a:hover {
z-index:2;
width:80px;
height:16px;
overflow:hidden;
left:0;
background: url(../images/star-matrix.gif) no-repeat 0 0
}

ul.rating li.one a:hover {background-position:0 -96px;}
ul.rating li.two a:hover {background-position:0 -112px;}
ul.rating li.three a:hover {background-position:0 -128px}
ul.rating li.four a:hover {background-position:0 -144px}
ul.rating li.five a:hover {background-position:0 -160px}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: