javascript - 其他脚本中的封装函数应该放在哪里?

标签 javascript jquery

免责声明:对 JS 非常业余,我只知道如何操作它......

所以我正在运行两个 jQuery 脚本。其中一个在使用后会阻止另一个正常工作。我记得不久前发生这种情况时我必须封装其中一个,然后在下一个中执行它。

封装的代码:

    var setUpScroll = function(){
        $(document).ready(function() {

        $("body").niceScroll();  // The document page (body)
        $("#mid-col-main-inner").niceScroll();  // Second scrollable DIV

      });
    };
    setUpScroll();

其他代码(isotope.js)

$(function(){

  var $container = $('#mid-col-main-inner');

  $container.isotope({
    itemSelector : '.sbox'
  });


  var $optionSets = $('#options .option-set'),
      $optionLinks = $optionSets.find('a');

  $optionLinks.click(function(){
    var $this = $(this);
    // don't proceed if already selected
    if ( $this.hasClass('selected') ) {
      return false;
    }
    var $optionSet = $this.parents('.option-set');
    $optionSet.find('.selected').removeClass('selected');
    $this.addClass('selected');

    // make option object dynamically, i.e. { filter: '.my-filter-class' }
    var options = {},
        key = $optionSet.attr('data-option-key'),
        value = $this.attr('data-option-value');
    // parse 'false' as false boolean
    value = value === 'false' ? false : value;
    options[ key ] = value;
    if ( key === 'layoutMode' && typeof changeLayoutMode === 'function' ) {
      // changes in layout modes need extra logic
      changeLayoutMode( $this, options )
    } else {
      // otherwise, apply new options
      $container.isotope( options );
    }

    return false;
  });


});

有人知道我需要在哪里放置 setUpScroll 吗?如果这能解决这个问题?如果我需要包含任何其他信息,请告诉我。

编辑:忽略封装信息。不管怎样,脚本交互不正确......

最佳答案

除非您想多次调用它,否则不需要创建 setUpScroll 函数。

我认为你想做的是:

(function($) { //jQuery will map to $ now
    self.setUpScroll = function(){
        $(document).ready(function() {

            $("body").niceScroll();  // The document page (body)
            $("#mid-col-main-inner").niceScroll();  // Second scrollable DIV

        });
    };
    setUpScroll();
})(jQuery); // <-- pass jQuery to your anonymous function

关于javascript - 其他脚本中的封装函数应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829095/

相关文章:

jquery - SVG animateTransform 不适用于 FF 和 IE

javascript - 在 FF 中淡入 <li> 时,项目符号点不显示

jquery - 使用 jQuery 如何选择一系列行?

jquery - 如何修复 Internet Explorer 的占位符?

javascript - Internet Explorer (7/8) 无法循环 javascript 数组

javascript - jQuery 工具提示 : Trouble with remove()

javascript - getElementById 与 $ ('#element' ) 获取输入字段长度

javascript - Node.js 服务器上的 socket.io 出现 ERR_CONNECTION_REFUSED

javascript - 如何在 URL 中传递 javascript 函数?

javascript - 两个视觉上相同的文本与剪贴板中的文本有何不同?