我正在做一个网站,它是由Drupal7制作的,我正在尝试添加SmoothState.js,以从ajax和令人惊叹的动画中受益。积极的一面是,SmoothState.js的工作非常完美,所有的动画都是如此。
问题是我似乎不能让SmoothState和我以前编写的jQuery片段一起工作。
简而言之,我创建了一个menu--submenu-sub-sub菜单块,并使用jQuery的.click(.click() {})对下拉菜单进行动画处理。集成SmoothState后,如果jQuery代码片段正在工作,或者如果我注释掉代码片段,则平滑状态不起作用。
这是jQuery的代码片段
$(".menu li").click(function() {
event.stopPropagation();
$("> ul", this).slideToggle("fast").parent("li").toggleClass("arrowChange");
});
附言-我有另一个jQuery代码完美地工作,没有任何中断,添加或删除滚动上的类。顺便说一句,我是jquery的初学者。
发布于 2016-04-07 00:52:41
要使其正常工作,您需要确保正确包含您的自定义jquery。您需要通读Drupal behavior attachment,但基本上,请确保您的脚本封装在如下所示的内容中:
Drupal.behaviors.my_custom_behavior = {
attach: function(context, settings) {
// your code goes here
}然后,在您用来调用smoothState的函数js中,确保您调用了Drupal.attachBehaviors();它将运行您的自定义JS,以及使用行为附件的任何其他模块的JS。
因此,在smoothState调用中包含如下内容:
onAfter: function() {
Drupal.attachBehaviors();
}https://stackoverflow.com/questions/35428351
复制相似问题