首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

初学者向各位JS大神下

2012-06-19 
菜鸟向各位JS大神求救下如何实现点击一个链接,然后图片会移动相应位置的问题.不太会表达,就是一个相册效果

菜鸟向各位JS大神求救下
如何实现点击一个链接,然后图片会移动相应位置的问题.不太会表达,就是一个相册效果,如baidu图片效果那样的.求告知.!

[解决办法]
http://www.lanrentuku.com/js/xiangce.html

楼主 找找 看有合适的没?
[解决办法]
所有js 特效的关键

setTimeout 修改 css
[解决办法]
我也是新手,这篇是刚收录到笔记中的,用它的原理能达到你的要求

JScript code
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    <html xmlns="http://www.w3.org/1999/xhtml">    <head>        <title>向上循环滚动的图片展示效果</title>        <meta http-equiv="content-type" content="text/html;charset=gb2312">        <!--把下面代码加到<head>与</head>之间-->        <style type="text/css">            #ad{                position:absolute;                width:150px;                height:200px;                border:1px solid #000;                overflow:hidden;            }            #ad ul{                position:absolute;                list-style-type:none;                margin:0;                padding:0;            }        </style>        <script language="javascript">            var ad = {                o:null,      // 存放滚动的UL                cloneImg:null,      //克隆UL的第一个图片                adY:0,      //滚动值                distan:0,     //每个图片的高度                init:function(obj){                    if(!obj.style.top){                        obj.style.top = '0px';                    }                    this.cloneImg = obj.firstChild.cloneNode(true);     //克隆第一个节点                    if(this.cloneImg.nodeType == 3) this.cloneImg = obj.firstChild.nextSibling.cloneNode(true);   //除IE外第一个节点为文本节点,这里做点调整,让克隆节点还是指向第一个元素                    obj.appendChild(this.cloneImg);   //让克隆的节点放入最后                    this.adY = parseInt(obj.style.top);                    this.o = obj;                    this.distan = this.cloneImg.offsetHeight;   //获取高度                    this.moveCtrl();                },                moveCtrl:function(){                    if(Math.abs(this.adY) == this.o.offsetHeight - this.distan) this.adY = 0; //当到达底部,让滚动直接跳回最上面                    if(Math.abs(this.adY)%this.distan==0){                        setTimeout('ad.moveCtrl()',2000);   //对每个图片做停留,也就是延迟函数的循环                    } else {                        setTimeout('ad.moveCtrl()',10);    //运动循环                    }                    --this.adY;                    ad.o.style.top = this.adY + 'px';                }            }            window.onload = function(){                var obj = document.getElementById('adul');                ad.init(obj);   //直接把UL放入类里,就可以用了,类已基本封装好            }        </script>    </head>    <body>    <!--把下面代码加到<body>与</body>之间-->    <div id="ad">        <ul id="adul">            <li><img src="http://www.zzsky.cn/effect/images/huandeng1.jpg" width="150" height="200"></li>            <li><img src="http://www.zzsky.cn/effect/images/huandeng2.jpg" width="150" height="200"></li>            <li><img src="http://www.zzsky.cn/effect/images/huandeng3.jpg" width="150" height="200"></li>            <li><img src="http://www.zzsky.cn/effect/images/huandeng4.jpg" width="150" height="200"></li>            <li><img src="http://www.zzsky.cn/effect/images/huandeng5.jpg" width="150" height="200"></li>        </ul>    </div>    </body>    </html>
------解决方案--------------------


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
function clickpage(num,count)
{
for(var i=1;i<=count;i++)
{
document.getElementById("li_"+i).className="lioff";
document.getElementById("text_"+i).style.display="none";
}

document.getElementById("li_"+num).className="lion";
document.getElementById("text_"+num).style.display="block";
}
var numt=1;
function settimechange()
{
numt++;
if(numt==5)
numt=1;
clickpage(numt,4)
setTimeout("settimechange()",2000);
}
</script>
<style>
#ul_h{
list-style-type:none;
margin:0px;
padding:0px;}
#ul_h li{
float:left;
display:block;
width:95px;
height:25px;
text-indent:40px;
padding:0px;
margin:0px;
padding-top:5px;
cursor:pointer;}
.lioff{
background:url(images/labboff.gif);}
.lion{
background:url(images/labbon.gif);}
</style>
</head>

<body>
<div style="width:1024px;">
<ul id="ul_h">
<li id="li_1" onclick="clickpage(1,4);numt=1;" class="lion">aa</li>
<li id="li_2" onclick="clickpage(2,4);numt=2;" class="lioff">bb</li>
<li id="li_3" onclick="clickpage(3,4);numt=3;" class="lioff">cc</li>
<li id="li_4" onclick="clickpage(4,4);numt=4;" class="lioff">dd</li>
</ul>
<div style="clear:both;"></div>
<div id="text_1" style="display:block;">aaaaaaaaaaaaaaaaaaaaaaa</div>
<div id="text_2" style="display:none;">bbbbbbbbbbbbbbbbbbbbbbb</div>
<div id="text_3" style="display:none;">ccccccccccccccccccccccc</div>
<div id="text_4" style="display:none;">ddddddddddddddddddddddd</div>
</div>
</body>
</html>
<script language="javascript">
settimechange();
</script>

热点排行
Bad Request.