2011-03-09 97 views
0

我从互联网上下载了一个jQuery淡入淡出过渡插件。我想让它在点击时进行转换,但我不知道如何修改。请帮忙。jQuery在点击时执行淡入淡出过渡?

在HTML开头代码

<script type="text/javascript"> 
     (function($) { 
     function init() { 
      $("#transitionEffect").fadeTransition({pauseTime: 4000, 
               transitionTime: 1000, 
               ignore: "#introslide", 
               delayStart: 4000, 
               manualNavigation: true, 
               pauseOnMouseOver: false, 
               createNavButtons: false}); 
     } 

     $(document).ready(init); 
     })(jQuery); 
</script> 

在JS /淡出plugin.js

(function ($) { 
    $.fn.fadeTransition = function(options) { 
    var transitionObject, 
     options = $.extend({pauseTime: 5000, 
          transitionTime: 2000, 
          ignore: null, 
          delayStart: 0, 
          pauseOnMouseOver: false, 
          manualNavigation: false, 
          createNavButtons: false}, options); 

    function fader(obj) { 
     var timer = null, 
      current = 0; 
      els = (options.ignore)?$("> *:not(" + options.ignore + ")", obj):$("> *", obj); 

     function setup() { 
     $(obj).css("position", "relative"); 
     els.css("display", "none").css("left", "0").css("top", "0").css("position", "absolute"); 



     if (options.delayStart > 0) { 
      setTimeout(showFirst, options.delayStart); 
     } 
     else { 
      showFirst(); 
     } 
     } 

     setup(); 



     function manualNav(e) { 
     var item; 
     e = e || window.event; 
     $(e.target).blur(); 
     item = $('.fadenav a', obj).index(e.target); 
     if (timer) { 
      clearTimeout(timer); 
     } 
     transition(item); 
     return false; 
     } 

     function pause() { 
     if (timer) 
      clearTimeout(timer); 
     } 



     function showFirst() { 
     if (options.ignore) { 
      $(options.ignore, obj).fadeOut(options.transitionTime); 
      $(els[current]).fadeIn(options.transitionTime, cue); 
     } 
     else { 
      $(els[current]).css("display", "block"); 
     } 

     } 

     function transition(next) { 
     $(els[current]).fadeOut(options.transitionTime); 
     $(els[next]).fadeIn(options.transitionTime); 
     current = next; 
     cue(); 
     } 

     function cue() { 
     if ($("> *", obj).length < 2) { 
      return false; 
     } 

     if (timer) { 
      clearTimeout(timer); 
     } 

     } 
    } 

    return this.each(function() { 
     new fader(this); 
    }); 
    } 

})(jQuery); 

回答

1

您需要绑定的函数调用的事件。 如果transtionEffect是你想调用fadeTransition的元素:

$("#transitionEffect").click(function() { 
        $(this).fadeTransition({pauseTime: 4000, 
              transitionTime: 1000, 
              ignore: "#introslide", 
              delayStart: 4000, 
              manualNavigation: true, 
              pauseOnMouseOver: false, 
              createNavButtons: false}); 
         }); 
+0

后,我加入了点击绑定,淡入淡出过渡是残疾人和原本隐藏层显示。 – Raptor 2011-03-10 02:17:17