2011-08-24 70 views
0

所以我在写一个小jQuery插件,但由于某种原因,插件方法并不是在所有的认可。任何人都可以点在那里我已经低于遗漏的类型错误:......没有方法“dimTheLights”

jquery.dimlights.js

(function($) { 

    var settings = {  

     opacity  : 0.75, 
     center  : false, 

    } 

    var screen_width = $(document).width(); 
    var screen_height = $(document).height(); 

    $.fn.dimTheLights = function(options) { 

     // merge options into settings 
     options ? $.extend(settings, options) : false; 

     // add overlay to DOM 
     $('body').append('<div id="dtl_overlay"></div>'); 

     // resize overlay 
     $('#dtl_overlay').width(screen_width); 
     $('#dtl_overlay').height(screen_height); 

    }; 

})(jQuery); 


出错的index.html

<html> 
    <head> 

     <title>Dim The Lights Demo</title> 

     <link rel="stylesheet" href="reset.css"> 
     <link rel="stylesheet" href="style.css"> 
     <link rel="stylesheet" href="../jquery.dimlights.css"> 

     <script src="http://code.jquery.com/jquery.min.js"></script> 
     <script src="../jquery.dimlights.js"></script> 
     <script> 

      $(document).ready(function() { 

       $('#content img').click(function() { 

        $(this).dimTheLights(); 

       }); 

      }); 

     </script> 

    </head> 

    <body> 

     <div id="wrapper"> 
      <header>Dim The Lights</header> 

      <section id="content"> 
       <img src="http://placekitten.com/278/100" class="dimthelights" /> 
      </section> 

      <footer> 
       <p>&copy; 2011 &bull; Jordan Adams</p> 

       <a href="http://twitter.com/jordancalluma">@JordanCallumA</a> 
      </footer> 
     </div> 

    </body> 
</html> 
+0

对我很好用:http://jsfiddle.net/TSkqF/1/你确定脚本的路径和文件名是正确的吗? – JJJ

+0

Yupp。他们正在加载罚款。再次照看不过我发现,jQuery是抛出一个错误 '遗漏的类型错误:无法读取属性“scrollWidth” null' –

+0

的没有关系,而是一个建议:当你没有做与所选元素任何东西,我将延长'jQuery'。而不是'jQuery.fn'。然后你可以用'$ .dimTheLights()'调用该方法。 –

回答

0

(然后我会放它作为答案;))

尝试window而不是document

相关问题