jquery – 如何将JS添加到Drupal 7

我想将 Forrst Sap功能添加到Drupal 7网站.

首先,这涉及将jquery.sap.js脚本添加到我可以通过我的主题.info文件执行的站点.我知道我必须替换jQuery现在是命名空间,以避免与其他Javascript库(如Prototype)发生冲突.期望将jQuery用作$的所有代码都应该包含在外部上下文中.

(function ($) {
  // All your code here
}(jQuery));

但是我不确定如何为这段代码指定Drupal行为?

其次,我必须添加内联代码

$('#item').sap({
    distanceFromThetop: 0
});

我相信我可以用drupal_add_js做到这一点,但我又不知道如何通过template.PHP文件解决这个问题?

谢谢你的帮助!

解决方法

这是一个用于向Drupal添加javascript文件的样板代码.
(function ($) {
  Drupal.behaviors.[myName] =  {
    attach: function(context,settings) {

      //Begin my code
      var myVarOne,myVarTwo;

      $('#item').sap({
        distanceFromThetop: 0
      });
     //I'm done with my code

    }
  };
})(jQuery);

drupal_add_js()一个很好的函数,用于在代码添加js文件,因为它们将在上下文中聚合,因此一些页面可以有大量的js脚本,但它们不会在其他页面加载的缓存聚合js文件中加载.

如果您需要每个页面上的脚本,或者如果它很小,则使用脚本[] = myscript.js通过[template_name] .info文件添加脚本,或者如果您的模板文件夹有一个名为js的脚本的子文件夹,则使用脚本[] = js /myscript.js

附:看看drupal.stackexchange.com

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...