要实现的效果是这样的:li横向排列,每个里边有一副图片,第一张图片全显示,其他三张只显示最左边45px宽度的标题部分,页面载入后等三秒钟,第一张图片宽度变为45px,只显示最左边标题部分,第二张图片宽度变为393px,显示全部,第三张,第四张图片不变。在等三秒钟,第二张图片的宽度变为45px,第三张图片宽度变为393px,全显示,第一和第四张图片宽度不变仍为45px。以此类推,当最后一张图片全显示3秒钟后,第一张图片宽度全显示,其他图片宽度变为45px。
当上述动画执行的时候,鼠标移到图片上,动画效果停止执行,鼠标移开,动画继续执行。现在我的代码只有在刚加载页面的时候会等3秒钟,然后会连续变化,不会在等3秒钟才执行下一个变化,而且鼠标移入也不会停止执行,请高手帮看下那里出了问题。
<!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=gb2312" />
<title>lightbox</title>
<script type="text/javascript" src="/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function()
{
$("ul li:not(:first)").css('width','45px');
var timer;
var index;
index=0;
$("ul li").hover(function(){
clearInterval(timer);
}, function(){
timer=setInterval(function(){
index++;
if(index>3){index=0};
$sel=$("ul li:eq("+index+")");
gd($sel);
},3000);
}).trigger("mouseleave");
/* $("ul li").click(function(){
$(this).animate({"width":"393px"},600)
.siblings().animate({"width":"45px"},600)
});*/
});
function gd(obj)
{
$self=obj;
$self.animate({"width":"393px"}, 600)
.siblings().animate({"width":"45px"},600); }
</script><style type="text/css">
<!--
*{margin:0; padding:0;}
#box{ width:530px; height:167px; overflow:hidden; border:1px solid #ccc;}
ul{list-style:none; float:left;}
ul li{float:left;}
-->
</style>
</head><body>
<div id="box">
<ul>
<li><img src="images/01.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/02.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/03.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/04.jpg" width="393" height="165" alt=" " /></li>
</ul>
</div>
</body>
</html>
当上述动画执行的时候,鼠标移到图片上,动画效果停止执行,鼠标移开,动画继续执行。现在我的代码只有在刚加载页面的时候会等3秒钟,然后会连续变化,不会在等3秒钟才执行下一个变化,而且鼠标移入也不会停止执行,请高手帮看下那里出了问题。
<!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=gb2312" />
<title>lightbox</title>
<script type="text/javascript" src="/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function()
{
$("ul li:not(:first)").css('width','45px');
var timer;
var index;
index=0;
$("ul li").hover(function(){
clearInterval(timer);
}, function(){
timer=setInterval(function(){
index++;
if(index>3){index=0};
$sel=$("ul li:eq("+index+")");
gd($sel);
},3000);
}).trigger("mouseleave");
/* $("ul li").click(function(){
$(this).animate({"width":"393px"},600)
.siblings().animate({"width":"45px"},600)
});*/
});
function gd(obj)
{
$self=obj;
$self.animate({"width":"393px"}, 600)
.siblings().animate({"width":"45px"},600); }
</script><style type="text/css">
<!--
*{margin:0; padding:0;}
#box{ width:530px; height:167px; overflow:hidden; border:1px solid #ccc;}
ul{list-style:none; float:left;}
ul li{float:left;}
-->
</style>
</head><body>
<div id="box">
<ul>
<li><img src="images/01.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/02.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/03.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/04.jpg" width="393" height="165" alt=" " /></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=gb2312" />
<title>lightbox</title>
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
var timer;
var index;
index=0;
$(document).ready(function()
{
$("ul li:not(:first)").css('width','45px');
timer=setInterval("dg()",3000);
$("ul").hover(function(){clearInterval(timer);
},function(){
timer=setInterval("dg()",3000);});
});
function dg()
{
index++;
if(index>3){index=0};
$sel=$("ul li:eq("+index+")");
gd($sel);
}
function gd(obj)
{
$self=obj;
$self.animate({"width":"393px"}, 600)
.siblings().animate({"width":"45px"},600);
}
</script><style type="text/css">
<!--
*{margin:0; padding:0;}
#box{ width:530px; height:167px; overflow:hidden; border:1px solid #ccc;}
ul{list-style:none; float:left;}
ul li{float:left;}
-->
</style>
</head><body>
<div id="box">
<ul>
要实现的效果是这样的:li横向排列,每个里边有一副图片,第一张图片全显示,其他三张只显示最左边45px宽度的标题部分,页面载入后等三秒钟,第一张图片宽度变为45px,只显示最左边标题部分,第二张图片宽度变为393px,显示全部,第三张,第四张图片不变。在等三秒钟,第二张图片的宽度变为45px,第三张图片宽度变为393px,全显示,第一和第四张图片宽度不变仍为45px。以此类推,当最后一张图片全显示3秒钟后,第一张图片宽度全显示,其他图片宽度变为45px。
当上述动画执行的时候,鼠标移到图片上,动画效果停止执行,鼠标移开,动画继续执行。现在我的代码只有在刚加载页面的时候会等3秒钟,然后会连续变化,不会在等3秒钟才执行下一个变化,而且鼠标移入也不会停止执行,请高手帮看下那里出了问题。
<!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=gb2312" />
<title>lightbox</title>
要实现的效果是这样的:li横向排列,每个里边有一副图片,第一张图片全显示,其他三张只显示最左边45px宽度的标题部分,页面载入后等三秒钟,第一张图片宽度变为45px,只显示最左边标题部分,第二张图片宽度变为393px,显示全部,第三张,第四张图片不变。在等三秒钟,第二张图片的宽度变为45px,第三张图片宽度变为393px,全显示,第一和第四张图片宽度不变仍为45px。以此类推,当最后一张图片全显示3秒钟后,第一张图片宽度全显示,其他图片宽度变为45px。
当上述动画执行的时候,鼠标移到图片上,动画效果停止执行,鼠标移开,动画继续执行。现在我的代码只有在刚加载页面的时候会等3秒钟,然后会连续变化,不会在等3秒钟才执行下一个变化,而且鼠标移入也不会停止执行,请高手帮看下那里出了问题。
<!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=gb2312" />
<title>lightbox</title>
<script type="text/javascript" src="/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function()
{
$("ul li:not(:first)").css('width','45px');
var timer;
var index;
index=0;
$("ul li").hover(function(){
clearInterval(timer);
}, function(){
timer=setInterval(function(){
index++;
if(index>3){index=0};
$sel=$("ul li:eq("+index+")");
gd($sel);
},3000);
}).trigger("mouseleave");/* $("ul li").click(function(){
$(this).animate({"width":"393px"},600)
.siblings().animate({"width":"45px"},600)
});*/
});function gd(obj)
{
$self=obj;
$self.animate({"width":"393px"}, 600)
.siblings().animate({"width":"45px"},600);}
</script><style type="text/css">
<!--
*{margin:0; padding:0;}
#box{ width:530px; height:167px; overflow:hidden; border:1px solid #ccc;}
ul{list-style:none; float:left;}
ul li{float:left;}
-->
</style>
</head><body>
<div id="box">
<ul>
<li><img src="images/01.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/02.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/03.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/04.jpg" width="393" height="165" alt=" " /></li>
</ul>
</div>
</body>
</html>这段我测试过,可以。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>lightbox</title>
<script type="text/javascript" src="/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
var timer;
var index;
index=0;
$(document).ready(function()
{
$("ul li:not(:first)").css('width','45px');
timer=setInterval("dg()",3000);
$("ul").hover(function(){clearInterval(timer);
},function(){
timer=setInterval("dg()",3000);});
});
function dg()
{
index++;
if(index>3){index=0};
$sel=$("ul li:eq("+index+")");
gd($sel);
}
function gd(obj)
{
$self=obj;
$self.animate({"width":"393px"}, 600)
.siblings().animate({"width":"45px"},600);
}
</script><style type="text/css">
<!--
*{margin:0; padding:0;}
#box{ width:530px; height:167px; overflow:hidden; border:1px solid #ccc;}
ul{list-style:none; float:left;}
ul li{float:left;}
-->
</style>
</head><body>
<div id="box">
<ul>
<li><img src="images/01.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/02.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/03.jpg" width="393" height="165" alt=" " /></li>
<li><img src="images/04.jpg" width="393" height="165" alt=" " /></li> </ul>
</div>
</body>
</html>