为什么不'这个javascript代码动画和聚焦在一个图片工作
Why doesn't this javascript code to animate and focus on one picture work?
我对这段代码有这个问题。我是一个新手javascript,jQuery程序员,并试图使一个代码,使一个图片保持聚焦和其他动画小。
代码是这样的:
var picHeight = '75';
var picWidth = '100';
var picAmount = 12;
var prev = 0;
var next = 0;
var picNr = '0';
function animatePictures(picNr) {
$('#pic'+picNr).animate({
height: picHeight+'px' ,
width: picWidth+'px'
},500);
}
function animateSidePics(prev,next) {
if ( next>=picAmount+1 ) { }
else {
var h=picHeight;
var w=picWidth;
for ( var i=next; i<=picAmount; i++ )
{
h=h-(h*0.3);
w=w-(w*0.3);
$('#pic'+i).animate({
height: h+'px' ,
width: w+'px'
},500);
}
}
if ( prev==0 ) { }
else {
var hh=picHeight;
var ww=picWidth;
for ( var i=prev; i>=1; i-- )
{
hh=hh-(hh*0.3);
ww=ww-(ww*0.3);
$('#pic'+i).animate({
height: hh+'px' ,
width: ww+'px'
},500);
}
}
}
for ( var y=1; y<=picAmount; y++ ) {
$('#pic'+y).click(function() {
animatePictures(y)
animateSidePics(y+1,y-1)
});
}
谁能回答为什么这个代码不工作?它只使最后一张照片对焦。即使你点击了第一张图片。我猜最后一个for循环一定有问题
如果你想让一个特定的图片动起来,你可以使用它的id,但如果你想让它动态地动起来,你可以使用它的索引,这是jquery为每个生成的,例如:
var index = 1;
$('img:eq('+index+')').animate({'height':'100px','width':'100px'});
如果你想依赖于当前图像的宽度和高度,使用内部操作,例如:
.animate({'height':'-=100px','width':'+=100px'});
不要使用循环,jquery会帮你做的,你只需要找出你的选择
jsfiddle
更新:这是我认为你正在尝试做的:
$(document).ready(function(){
$('img').animate({'height':'50px','width':'50px'},500);
$('img').click(function(){
$(this).animate({'height':'100px','width':'100px'},500);
$(this).siblings('img').animate({'height':'50px','width':'50px'},500);
});
});
jsfiddle2
相关文章:
- 当单元格内容由于forumula从另一个工作表编译数据而更改时发送电子邮件
- 当源工作表添加了行时,如何编写在一个工作表中添加行的脚本
- 如何在jquery中为object键创建一个工作变量以避免额外的代码
- 是否有可能在 threejs 中创建一个工作的计算机界面
- Javascript .call() 用法.一个工作案例,一个不是.有什么区别
- 我可以在 MVC 3.0 中获得一个工作 Asp.NET jsTree 4 示例,并异步加载节点
- 将数据从一个工作表复制到另一个工作表;使用目标工作表中的复制数据创建一个表
- 即使我从另一个工作小提琴复制代码,JSFiddle 也不起作用
- dojo's registry.findWidgets() 的一个工作示例
- 根据条件将行从一个工作表复制到另一个工作表
- 你如何使用JavaScript制作一个工作时钟
- 网络音频Api:我如何添加一个工作卷积器
- 我想编辑一个工作的javascript代码来增加它的功能
- 多个谷歌图表,只有一个工作
- 选择一个工作的国家
- jQuery Ajax的两个相同的函数为其中一个工作,而不是另一个
- 两次相同的onclick功能-只有一个工作
- 是否有一个工作的qrCode阅读器在Js/Jquery那里
- 将一个工作的jQuery表单复制到另一个位置,但只复制原来的工作
- 在两个不同的工作表中查找具有相同列的选定行,并将其从其中一个工作表中删除