Javascript 函数中的jquery动画不工作
我有一个函数,在我的Javascript 函数中的jquery动画不工作,javascript,jquery,Javascript,Jquery,我有一个函数,在我的中的onclick中调用; gal_id=id; $(文档).ready(函数(){ showId('gal'); showId('gal_back'); 美元('gal')。法代托(3000,1); $(‘gal_back’).fadeTo(3000,0.9); if(gal_id+1==imgs_array.length){ $(‘下一个’).fadeTo(3000,0); hideId(“下一个”); showId('prev'); 美元(上),法德托(3000,1),
中的onclick
中调用;
gal_id=id;
$(文档).ready(函数(){
showId('gal');
showId('gal_back');
美元('gal')。法代托(3000,1);
$(‘gal_back’).fadeTo(3000,0.9);
if(gal_id+1==imgs_array.length){
$(‘下一个’).fadeTo(3000,0);
hideId(“下一个”);
showId('prev');
美元(上),法德托(3000,1),;
}else if(gal_id==0){
美元('prev')。法德托(3000,0);
hideId('prev');
showId(“下一个”);
$(‘下一个’).fadeTo(3000,1);
}否则{
showId('prev');
showId(“下一个”);
$(‘下一个’).fadeTo(3000,1);
美元(上),法德托(3000,1),;
}
});
}
showId
和hideId
调用一个文档.getElementById(id).style.visibility=”“
显示页面其余部分上方设置的类似幻灯片的库中隐藏的元素。在它显示这些元素之后,它将假定将其不透明度更改为元素中的淡入淡出。将显示元素,但不显示动画
我认为这是因为函数是在我的
$(document.ready()
的其余部分之外调用的,因为IMG是在php for循环中生成的,用于显示我数据库中的图像,每个图像都有自己的id,并调用自己的opengal(id)
,因为您忘了在jquery中放置id选择器,
,更改您的代码,例如
function opengal(id){
document.getElementById('gal_img').innerHTML="<img id='gal_active' src='" + imgs_array[id].source_t + "' />";
gal_id = id;
$(document).ready(function(){
showId('gal');
showId('gal_back');
$('gal').fadeTo(3000, 1);
$('gal_back').fadeTo(3000, 0.9);
if (gal_id + 1 === imgs_array.length) {
$('next').fadeTo(3000, 0);
hideId('next');
showId('prev');
$('prev').fadeTo(3000, 1);
} else if (gal_id === 0) {
$('prev').fadeTo(3000, 0);
hideId('prev');
showId('next');
$('next').fadeTo(3000, 1);
} else {
showId('prev');
showId('next');
$('next').fadeTo(3000, 1);
$('prev').fadeTo(3000, 1);
}
});
}
如果要使用类名引用元素,请使用
,然后您的代码将
$('#gal').fadeTo(3000, 1);
$('#gal_back').fadeTo(3000, 0.9);
我觉得自己像个白痴错过了这个。哈哈,有趣的是你错过了简单的事情。我更喜欢一件事,你可以直接使用$(''gal').hide()和$(''gal').show()而不是调用函数
$('.gal').fadeTo(3000, 1);
$('.gal_back').fadeTo(3000, 0.9);