jaryle

梦想的开始

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

基本思想:这个插件的制作用到jquery的animate,fadeIn,fadeTo等动画 透明度之类的知识,对css的控制样式也是很重要的

还有一点就是包括滤镜的使用但是有一点必须要说明的是滤镜在firefox下不能识别看不到效果

  下面就开始我们的代码编写吧

html是比较简单的 

代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 
<head>
  
<TITLE>myjquerydirection</TITLE>
<META http-equiv=content-type content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="css/dirction.css">
<script language=javascript src="js/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="js/drection.js"></script>
</head>
<body>
<div id=nav>
<ul>
<li><img src="images/02.jpg" text="美景如画的海景|天蓝海蓝" pic="2">
<div>一个海岛</div></li>
<li><img src="images/01.jpg" text="Handy Code|春华秋实" pic="1">
<div>一片麦穗</div></li>
<li><img src="images/03.jpg" text="郁郁葱葱的生命|生生不息的生命" pic="3">
<div>一树绿叶</div></li>
<li><img src="images/04.jpg" text="孤独的一棵老树|等谁呢?" pic="4">
<div>一棵大树</div></li>
<li><img src="images/05.jpg" text="明媚的向日葵花|生生不息的生命" pic="5">
<div>一地葵花</div></li></ul>
<div id=frontTextBack></div>
<div id=frontText></div>
<div id=frontTextSub></div>
<div id=BG></div>
<div id=mask></div>
<div id=back><img height="240" src="images/2.jpg" width="760"</div>
</div>
</body>
</html>

这里有多个div标签 id=frontTextBack的标签是显示通过css滤镜来实现阴影,其他的代码就没有什么好说的了

现在开始我们的css代码的编写了
首先从顶层开始编写

代码
body          {  padding:0;
            moz-user-select
: none;
                    margin
:0;
          
}
#nav         
{    background: url("loadsmall.gif") no-repeat scroll 330px 100px #000;
                     height
:240px;
             overflow
:hidden;
             position
:relative;
             width
:760px;
                     display
:block;
}
#nav ul       
{  bottom:0px;
                     left
:3px;
             position
:absolute;
             text-align
:left;
             z-index
:999;
}
#nav ul li     
{  list-style:none;
                         display
:block;
             float
:left;
             height
:50px;
             width
:140px;
             font-size
:12px;
             position
:relative;
             
}
#nav li img
{ border:1px solid white;
                         cursor
:pointer;
             float
:left;
             height
:35px;
             left
:10px;
             top
:5px;
             width
:52px;
             margin-top
:10px;
}
#nav li div
{ FILTER: alpha(opacity=60);
                         margin-left
:70px;
             margin-top
:5px;
             padding-left
:10px;
             color
:white;

}
#frontTextBack
{color:#000;
                           font-family
:Verdana;
               font-size
:30px;
               left
:22px;
               position
:absolute;
               width
:100%;
               top
:22px;

}
#frontText 
{ color:#fff;
                         font-size
:30px;
             font-weight
:900;
             left
:20px;
             position
:absolute;
             top
:20px;
             width
:100%;
             z-index
:999;

}
#frontTextSub
{color:#fff;
                          font-size
:13px;
              left
:25px;
              position
:absolute;
              top
:60px;
              width
:100%;

}
#BG        
{ background:none repeat scroll 0 0 #000;
                         border-top
:1px solid #999;
             bottom
:0;
             height
:50px;
             position
:absolute;
             text-align
:right;
             width
:100%;

}
#mask      
{ background:repeat scroll 0 0 transparent;
                         height
:100%;
             position
:absolute;
             width
:100%;
             z-index
:990;

}
#back      
{ text-align:center;

}



.gray        
{FILTER:gray();       }  //滤镜设置成灰


接下来就是js的编写了js

代码
  首先加载
  $(
function(){
    
//首先找到需要点击的img
    $("li img").click(function(){
    
//判断一下当前img是否已经被点中
    if(this.className.indexOf("active"!=-1)
      {
          
return;
      }
     
//获取数据
       var i=$(this).attr("pic");
    
//获取要显示的文本内容,并以|把text分割成数组
       var t=$(this).attr("text").split("|");
     
//改变文本的淡出,通过控制透明度来改变动画的效果
       $("#frontText").fadeOut();
       $(
"#frontTextBack").fadeOut();
       $(
"#frontTextSub").fadeOut();
     
//处理当前active的img恢复原样
       $("li img.active").animate({top:5,width:52,left:10},300)
            .removeClass(
"active")
            .fadeTo(
200,0.6)
      
//处理当前的active的img
        $(this).animate({top:-5,width:40,height:70,left:1},300)
            .addClass(
"active")
            .fadeTo(
200,1)
      
//处理显示的div的大图
        $("#back").children().addClass("gray").end()
            .fadeIn(
500,0.1,function(){
                    $(
this).children("img").attr("src","imgaes/"+i+".jpg").removeClass("gray");
                    $(
this).fadeTo(500,1,function(){
                            $(
"#frontText").html(t[0]).fadeIn(200);    //更改正文文字
                            $("#frontTextBack").html(t[0]).fadeIn(200);    //阴影文字
                            $("#frontTextSub").html(t[1]).fadeIn(200)}    //副标题
                                                                );
});

});
 });
//初始化第一张图
var i =0;
 show();
      
function show(){
        
if (i==$("li img").size()) i = 0
        $(
"li img").eq(i).click();
        i
++;
        
//setTimeout(show(),1000);
    }



 

 



posted on 2010-05-11 22:29  jaryle  阅读(393)  评论(0)    收藏  举报