我有一个Wordpress驱动的网站,它运行一个名为UberMenu的插件。作为对插件的修改的一部分,我对菜单的移动变体进行了一些CSS更改。
虽然在移动设备上,我已经设置了一个非常基本的toggleClass jQuery代码,它可以切换一个名为“close”的类,它会改变右边的小图标,即CSS设置:after。
这适用于分期:
http://tulaforlife.staging.wpengine.com/ (在手机上打开网站,点按'菜单',然后点按'产品'。请注意,+号会在点击时更改为减号,然后在关闭时再次返回。
然而,我不能让它在现场工作:
它不会为同一个CSS切换类。这是代码:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('.menu-button-text').attr("onclick","return true");
jQuery('.ubermenu-target').on ('touchstart', function() {
jQuery(this).toggleClass('close');
jQuery('.ubermenu-target').not(this).removeClass('close');
});
jQuery('.ubermenu-target').hover(function () {
jQuery(this).toggleClass("close");
});
});
</script>
CSS:
span.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only:after {
content:"\f067" !important;
}
span.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.close:after {
content:"\f068" !important;
}
有趣的是,如果我将jQuery中touchstart的目标更改为“.ubermenu-target-title”,它会在HTML中切换类(但仅在实际文本被点击时),但它不会为.ubermenu-target做这件事,这就是我想要的。
我出错的任何想法,以及为什么它在升级工作但不能在现场工作? :(