Jquery Fade在一个活跃的类中

时间:2010-12-10 11:48:04

标签: jquery fadein

所以我有一个画廊,我需要让主要图像淡入,然后一旦点击就交叉淡入淡出。单击后,主图像的类设置为“活动”:

var gal = {
init : function() {
    if (!document.getElementById || !document.createElement || !document.appendChild) return false;
    if (document.getElementById('gallery')) document.getElementById('gallery').id = 'jgal';
    var li = document.getElementById('jgal').getElementsByTagName('li');
    li[0].className = 'active';
    for (i=0; i<li.length; i++) {
        li[i].style.backgroundImage = 'url(' + li[i].getElementsByTagName('img')[0].src + ')';
        li[i].title = li[i].getElementsByTagName('img')[0].alt;
        gal.addEvent(li[i],'click',function() {
            var im = document.getElementById('jgal').getElementsByTagName('li');
            for (j=0; j<im.length; j++) {
            im[j].className = '';
            }

            this.className = 'active';



    }

我在这里尝试添加

this.fadeIn( '快');

设置类后

,但这不起作用。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:1)

使用此解决方法解决:

  

$(本).hide();                   $(本).fadeIn( “慢”);                   this.className ='active';

答案 1 :(得分:0)

把它扔到那里希望它有所帮助。如果您在页面中包含jQuery,请使用它(至少就可维护性而言),如下所示:

var gal = {
  init : function() {
    $('#gallery').attr('id', 'jgal').find('li').each(function() {
      var $this = $(this), i = $this.find('img')[0];
      $this.css('backgroundImage', 'url(' + i.src + ')').attr('title', i.alt);
    }).click(function() {
      $(this).addClass('active').hide().fadeIn('slow')
             .siblings().removeClass('active');
    }).first().click();
  }