我正在网站上工作,它是由drupal 7制作的,我正在尝试添加SmoothState.js以受益于ajax和令人敬畏的动画。 积极的一面是SmoothState.js完美运行,所有动画都是如此。
问题在于我似乎无法将SmoothState与我之前编写的jQuery片段一起使用。
简而言之,我已经创建了一个菜单块 - 子菜单 - 子子菜单,并使用jQuery> s。(function(){})为下拉菜单设置了动画。在集成SmoothState之后,如果jQuery片段正常工作,或者如果我将片段评论为smoothstate,则smoothstate不起作用。
这是jQuery的片段
$(".menu li").click(function() {
event.stopPropagation();
$("> ul", this).slideToggle("fast").parent("li").toggleClass("arrowChange");
});

P.S。 - 我有另一个jQuery代码完美地工作,没有任何中断,在滚动上添加或删除类。顺便说一下,我是jquery的初学者。
答案 0 :(得分:0)
要使其正常工作,您需要确保正确包含自定义jquery。您需要阅读Drupal behavior attachment,但基本上,请确保您的脚本封装在如下所示的内容中:
Drupal.behaviors.my_custom_behavior = {
attach: function(context, settings) {
// your code goes here
}
然后在用于调用smoothState的函数js中,确保调用Drupal.attachBehaviors();它将运行您的自定义JS,以及使用行为附件的任何其他模块。
所以在你的smoothState调用中包含这样的东西:
onAfter: function() {
Drupal.attachBehaviors();
}