兼做美工-首页新闻tab转换

最近有个项目,我负责网站部分模块,因此,需要设计页面也要写页面,也要写后台。于是就挺杯具的,没有美工细胞的我,兼做了美工

下面是我制作首页新闻部分的设计:

   任务如下:

    1.用ps制作如下三个图片:

   bussiny news_bg news_bander

2. 利用上面三个图片,实现如下效果:

效果图

 

 

 

首先要先设置body的css属性(字体大小,背景等等):

body{
	margin:0;
	font-family:"宋体",Arial,Verdana,Helvetica,sans-serif;
	width:100%;

	font-size:12px;
	color: #3E3E3E;
	background:#ffffff;
}
然后编写骨架部分(也就是html部分):
<div id="right">
  <div id="news">
      <div class="news_div" style=" ">
      <div class="news_ul" style="">
        <ul id="main_0"><li id="menu_0" onclick="setTab(0,0)" class="news_li_1" >
        <a   class="news_a" >最新新闻</a></li>
        <li id="menu_1" onclick="setTab(0,1)"  class="news_li_2" ><a class="news_a">最新报价</a></li></ul>
        </div>
        <div>
        <p>
        <ul id="n0"  class="new_contant" style="display:block">
        <li>某某某最新票讯</li>
        <li>某某某最新票讯</li>
        <li>某某某最新票讯</li>
        </ul>
        </p>
         <p>
        <ul id="n1" class="new_contant">
        <li>某工程站最新票讯</li>
          <li>某工程站最新票讯</li>
        <li>某工程站最新票讯</li>
        </ul>
        </p>
        </div>
      </div>
    </div>
    
     <div id="bussiny">
       <div class="news_div"  >
       <div class="news_ul" style="  border-bottom:2px solid #cca655; " >
       <ul id="main_1">
       <li class="buss_li_1" id="bmenu_0" onclick="setTab(1,0)"  ><a  class="news_a" >最近报价</a></li>
       <li id="bmenu_1" onclick="setTab(1,1)" class="news_li_2"  ><a  class="news_a"  >最新优惠</a></li>
       <li id="bmenu_2" onclick="setTab(1,2)" class="news_li_2"  ><a  class="news_a">最新消息</a></li>
       </ul>
       </div>
       <div id="buss_contant">
          <p>
        <ul id="b0"  class="new_contant" style="display:block">
        <li>某某某最新票讯</li>
        <li>某某某最新票讯</li>
        <li>某某某最新票讯</li>
        </ul>
        </p>
        
          <p>
        <ul id="b1"  class="new_contant">
        <li>某某某最新爆料</li>
        <li>某某某最新爆料</li>
        <li>某某某最新爆料</li>
        </ul>
        </p>
        
         <p>
        <ul id="b2" class="new_contant">
        <li>某工程站最新票讯</li>
          <li>某工程站最新票讯</li>
        <li>某工程站最新票讯</li>
        </ul>
        </p>
       </div>
       </div>
     </div>
  </div>
然后写皮肤(css):
 
 #right{ position:relative; left:500px}
    #news{
		
		width:235px;
		height:225px;
		background: url(images/news_bg.jpg) left top no-repeat;
		margin-bottom:10px;
		}
     #bussiny{
		
		width:235px;
		height:234px;
		background: url(images/bussiny.jpg) left top no-repeat;
		margin-bottom:10px;
		}		

   .news_div{position:relative;top:30px; height:24px; width:230px; left:1px;  }
    .news_ul { width:100%;  border-style: none ; border-bottom:2px solid #acbe82;height:24px; }
	.news_ul ul{ list-style-type:none}
	.news_ul  li{ display:block; float:left;}
	
   .news_ul_1	a:link{ color:#00F; text-decoration:none;}
   .news_ul_1   a:visited { color: #00F; text-decoration:none;}
   .news_ul_1   a:hover { color: #c00; text-decoration:underline;}
   
   .news_li_1 {width:62px; position:relative; left:-30px; top:2px; height:24px;background-image:url(images/news_bander.gif); background-position:top}
   .news_li_2 {width:62px; position:relative; left:-30px; height:24px; background-image:url(images/news_bander.gif); background-position:0px 52px; }
   .buss_li_1 {width:62px; position:relative; left:-30px; top:2px; height:24px;background-image:url(images/news_bander.gif); background-position:0px 104px}
   .news_a { left:7px; position:relative; top:7px; display:block; cursor:pointer;}
   .new_contant{position:absolute; top:44px; left:-10px; list-style-type:circle; display:none}
整个过程其实蛮简单的,但是,实际操作过程,却郁闷死我,div的位置和背景的位置非常难调,还有就是浏览器的兼容性问题,差点没把握累死。自己看来真的不是美工的料
现在骨架和皮肤做好了···我们接下来就是要让他动起来···这个对于我们程序员来说,就是小菜一碟了:
<script type="text/javascript">
 //m=0为news,m=1为buss
 function setTab(m,n){
 var tli;
 var mli;
   if(m==0)
   {
	   
	     tli=document.getElementById("menu_"+n)
         mli=document.getElementById("main_"+m).getElementsByTagName("li");
		
        for(i=0;i<mli.length;i++){
		   
	    if(n==i)
	    {
           mli[i].className="news_li_1";
		   document.getElementById("n"+i).style.display="block";
	    }
	    else
	    {
		  mli[i].className="news_li_2";
		  document.getElementById("n"+i).style.display="none";
		 }
       }
   }
   else
   {
	   tli=document.getElementById("bmenu_"+n)
       mli=document.getElementById("main_"+m).getElementsByTagName("li");
	   for(i=0;i<mli.length;i++){
	    if(n==i)
	    {
           mli[i].className="buss_li_1";
		    document.getElementById("b"+i).style.display="block";
	    }
	    else
	    {
		  mli[i].className="news_li_2";
		   document.getElementById("b"+i).style.display="none";
		 }
       }
   }
}

</script>
到这里,tab终于搞定了···
posted @ 2011-01-07 17:32  dodohua  阅读(530)  评论(2编辑  收藏  举报