亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

多物體,不同目標值

<!DOCTYPE?html>
<html>
<head>
????<meta?charset="UTF-8">
????<title>多圖動畫</title>
????<style?type="text/css">
????*{margin:?0;
????????padding:?0;}
????ul,li{list-style:?none;}
????li{width:?100px;
???????height:?100px;
????????background-color:?red;
????????margin-bottom:?50px;}
????</style>
????<script?type="text/javascript">
????window.onload=function??()?{
????var?li=document.getElementsByTagName('li');
????var?itarget=200;
????????for?(var?i?=?0;?i?<?li.length;?i++)?{

????????????li[i].timer=null;
????????????
????????????li[i].onmouseover=function(){
????????????????startmove(this,itarget);
????????????}
????????????li[i].onmouseout=function(){
????????????????startmove(this,100);
????????????}
????????itarget+=100;
????????}

}
????function?startmove?(obj,itarget)?{
????clearInterval(obj.timer);
????obj.timer=setInterval(function(){
????????obj.speed=Math.floor((itarget-obj.offsetWidth)/10);
????????if?(itarget==obj.offsetWidth)?{
????????????clearInterval(obj.timer);
????????}?else{
????????????obj.style.width=obj.offsetWidth+obj.speed+'px';
????????}
????},30)
????
}


????</script>
</head>
<body>
????<ul>
????????<li></li>
????????<li></li>
????????<li></li>
????</ul>
</body>
</html>

為什么三個物體的目標值都是400呢,怎么可以設置目標值為200,300,400,三個都不一樣

正在回答

2 回答

<!DOCTYPE?html>
<html>
<head>
????<meta?charset="UTF-8">
????<title>多圖動畫</title>
????<style?type="text/css">
????*{margin:?0;
????????padding:?0;}
????ul,li{list-style:?none;}
????li{width:?100px;
???????height:?100px;
????????background-color:?red;
????????margin-bottom:?50px;}
????</style>
????<script?type="text/javascript">
????window.onload=function??()?{
????var?itarget?=200;
????var?li=document.getElementsByTagName('li');
????????for?(var?i?=?0;?i?<?li.length;?i++)?{
??
????????????li[i].timer=null;
????????????li[i].index?=?i?;
??????????????
????????????li[i].onmouseover=function(){
????????????????if(this.index?==?0)?{?//這里的this.index就是li[i].index?=?i?;的賦值。
????????????????????startmove(this,?"200");
????????????????}?else?if(this.index?==?1){
????????????????????startmove(this,?"300");
????????????????}?else?{
????????????????????startmove(this,?"400");
????????????????}
????????????}
????????????li[i].onmouseout=function(){
????????????????startmove(this,100);
????????????}
????????itarget+=100;
????????}
??
}
????function?startmove?(obj,itarget)?{
????clearInterval(obj.timer);
????obj.timer=setInterval(function(){
????????obj.speed=Math.floor((itarget-obj.offsetWidth)/10);
????????if?(itarget==obj.offsetWidth)?{
????????????clearInterval(obj.timer);
????????}?else{
????????????obj.style.width=obj.offsetWidth+obj.speed+'px';
????????}
????},30)
??????
}
??
??
????</script>
</head>
<body>
????<ul>
????????<li></li>
????????<li></li>
????????<li></li>
????</ul>
</body>
</html>


1 回復 有任何疑惑可以回復我~
#1

周末00 提問者

非常感謝!我這菜鳥實在是想不出來呀!
2015-10-25 回復 有任何疑惑可以回復我~

li[i].onmouseover=function(){

????????????????startmove(this,itarget);

????????????}

在這改變itarget的值,因為你每次使用的都一樣。所以才都是400.

<!DOCTYPE?html>
<html>
<head>
????<meta?charset="UTF-8">
????<title>多圖動畫</title>
????<style?type="text/css">
????*{margin:?0;
????????padding:?0;}
????ul,li{list-style:?none;}
????li{width:?100px;
???????height:?100px;
????????background-color:?red;
????????margin-bottom:?50px;}
????</style>
????<script?type="text/javascript">
????window.onload=function??()?{
????var?li=document.getElementsByTagName('li');
????var?itarget=200;
????????for?(var?i?=?0;?i?<?li.length;?i++)?{
?
????????????li[i].timer=null;
?????????????
????????????li[i].onmouseover=function(){
????????????????startmove(this,itarget);
????????????????
????????????????itarget?=?itarget?+?100?;
????????????}
????????????li[i].onmouseout=function(){
????????????????startmove(this,100);
????????????}
????????itarget+=100;
????????}
?
}
????function?startmove?(obj,itarget)?{
????clearInterval(obj.timer);
????obj.timer=setInterval(function(){
????????obj.speed=Math.floor((itarget-obj.offsetWidth)/10);
????????if?(itarget==obj.offsetWidth)?{
????????????clearInterval(obj.timer);
????????}?else{
????????????obj.style.width=obj.offsetWidth+obj.speed+'px';
????????}
????},30)
?????
}
?
?
????</script>
</head>
<body>
????<ul>
????????<li></li>
????????<li></li>
????????<li></li>
????</ul>
</body>
</html>

這樣寫就可以每次都加100了

0 回復 有任何疑惑可以回復我~
#1

周末00 提問者

效果不一樣呀,你試試,我的效果是目標分別是200,300,400.按照順序來的,你的不安順序,而且鼠標每次在不同圖片上滑動都會增加100的.
2015-10-25 回復 有任何疑惑可以回復我~
#2

周末00 提問者

滑動第一幅目標200,第二幅300,第三幅400.而且每次隨意滑動都是這些效果
2015-10-25 回復 有任何疑惑可以回復我~
#3

Y_du 回復 周末00 提問者

我只是提供思路。至于你要實現怎樣的需求就自己改嗎。按你說的你就判斷鼠標現在移動到哪個LI上,傳不同的參數不就行了。
2015-10-25 回復 有任何疑惑可以回復我~
#4

周末00 提問者 回復 Y_du

額,那謝謝啦,我就是想不出來怎么改.
2015-10-25 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消
JS動畫效果
  • 參與學習       113918    人
  • 解答問題       1502    個

通過本課程JS動畫的學習,從簡單動畫開始,逐步深入各種動畫框架封裝

進入課程

多物體,不同目標值

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號