首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SmoothState.js不能与自定义编写的jQuery一起使用

SmoothState.js不能与自定义编写的jQuery一起使用
EN

Stack Overflow用户
提问于 2016-02-16 17:18:16
回答 1查看 444关注 0票数 0

我正在做一个网站,它是由Drupal7制作的,我正在尝试添加SmoothState.js,以从ajax和令人惊叹的动画中受益。积极的一面是,SmoothState.js的工作非常完美,所有的动画都是如此。

问题是我似乎不能让SmoothState和我以前编写的jQuery片段一起工作。

简而言之,我创建了一个menu--submenu-sub-sub菜单块,并使用jQuery的.click(.click() {})对下拉菜单进行动画处理。集成SmoothState后,如果jQuery代码片段正在工作,或者如果我注释掉代码片段,则平滑状态不起作用。

这是jQuery的代码片段

代码语言:javascript
复制
$(".menu li").click(function() {
  event.stopPropagation();
  $("> ul", this).slideToggle("fast").parent("li").toggleClass("arrowChange");
});

附言-我有另一个jQuery代码完美地工作,没有任何中断,添加或删除滚动上的类。顺便说一句,我是jquery的初学者。

EN

回答 1

Stack Overflow用户

发布于 2016-04-07 00:52:41

要使其正常工作,您需要确保正确包含您的自定义jquery。您需要通读Drupal behavior attachment,但基本上,请确保您的脚本封装在如下所示的内容中:

代码语言:javascript
复制
Drupal.behaviors.my_custom_behavior = {
  attach: function(context, settings) {
  // your code goes here
}

然后,在您用来调用smoothState的函数js中,确保您调用了Drupal.attachBehaviors();它将运行您的自定义JS,以及使用行为附件的任何其他模块的JS。

因此,在smoothState调用中包含如下内容:

代码语言:javascript
复制
onAfter: function() {
    Drupal.attachBehaviors();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35428351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档