Jquery改变按钮链接a的hover背景

考虑到有很多的不同的按钮图片,用:hover属性需要每个都定义,太麻烦,所以写个了js来自己换图片

 1 $(document).ready(function(){
 2     var str ; //全局变量,存储原来图片的src
 3         $("div.autohover a").mouseover(
 4             function()
 5             {
 6         str = $("img",this).attr("src");
 7                 var hover_str = getHoverImg(str);
 8         //alert(hover_str);
 9         $("img",this).attr("src",hover_str);
10             });
11     $("div a").mouseout(
12             function()
13             {
14         $("img",this).attr("src",str);
15             });    
16         
17 });
18 
19 //核心函数
20 function getHoverImg(str)
21 {
22     //var fileNameStart = str.lastIndexOf("/");//先不取文件名
23     var fileNameEndPos = str.lastIndexOf(".");
24     //substr() : 第一个参数是起始位置,第二个参数是长度
25     var fileName = str.substr(fileNameStart + 1,fileNameEndPos-fileNameStart-1);
26     var extName = str.substr(fileNameEndPos,4); 
27 
28     //整个路径名
29     var filePath = str.substr(0,fileNameEndPos);
30     //重新组合成hover时的图片名,为a标签定义hover属性
31     var hover_ex = "_hover"
32     var hoverFileName = filePath + hover_ex + extName; 
33     return hoverFileName ; 
34                 
35 }

 

这样可以将图片导航做成一个模块,用一个div包住,当然如果导航里没有其他的a标签,可以直接用nav标签 用法很简单:(这里是photoshop生成的div+css网页,所以乱了点,所以才会这样来做hover属性●︿●)

1 <div class="autohover">
2 <div class="nq3_">
3          <a href="http://www.cnblogs.com/trying/admin/info.html"><img id="nq3" src="http://www.cnblogs.com/trying/admin/images/nq3.jpg" alt="" width="94" height="94" border="0" /></a>
4      </div>
5 <div class="nq5_">
6          <a href="http://www.cnblogs.com/trying/admin/360View.html"><img id="nq5" src="http://www.cnblogs.com/trying/admin/images/nq5.jpg" alt="" width="93" height="94" border="0" /></a>
7      </div>
8 
9   </div>

 

 1 /**
 2  * imghover_v2.js
 3  * 这个是为css-sprite设计的hover变换
 4  * 为导航容器加上class="hoverImg"
 5 **/
 6 
 7 $(document).ready(function(){
 8     var str ; //全局变量,存储原来图片的src
 9         $(".hoverImg a").mouseover(
10             function()
11             {
12         str = $(this).css("background-image");
13                 var hover_str = getHoverImg(str);
14         var hover_str = hover_str+")"; //做点处理
15         //alert(hover_str);
16         $(this).css("background-image",hover_str);
17             });
18     $("div a").mouseout(
19             function()
20             {
21         $(this).css("background-image",str);
22             });    
23         
24 });

 

posted @ 2012-05-03 16:00  ifeixiang  阅读(2284)  评论(0编辑  收藏  举报