下拉菜单在触摸事件上消失

时间:2016-08-03 08:20:09

标签: javascript jquery

我正在开发一个有很多问题的遗留网站,但其中一个确实令人烦恼和困惑。它有一个下拉菜单,只需使用jquery条件切换。

问题是 - 当我在iPhone / Android上打开它并尝试向下滚动以查看剩余的菜单项时,菜单消失了。

以下是加载它的脚本:

/* MOBILE COLLAPSE MENU */
;(function ($) {
  $.fn.collapsable = function (options) {
  // iterate and reformat each matched element
  return this.each(function () {
  // cache this:
  var obj = $(this)
  var tree = obj.next('.mobile_navigation')
  obj.click(function () {
    if (obj.is(':visible')) {tree.toggle();}
  })
  $(window).resize(function () {
    if ($(window).width() <= 480) {tree.attr('style', '');}
  })
 })
 }
 })(jQuery)

我该如何解决这个问题?我认为它与$(window).resize函数有关,因为它正在加载一个较小的视口,但我不知道该怎么办。

1 个答案:

答案 0 :(得分:0)

请仔细检查您导入jquery库导入两次..

试试这个

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
   $(document).ready(function(){
      $("button").click(function(){
         $("p").slideToggle();
     });
   });
 </script>
</head>
<body>
<div>
<button>Toggle slideUp() and slideDown()</button>
</div>

<p><a href="#">Link 1</a></p>
<p><a href="#">Link 1</a></p>
<p><a href="#">Link 1</a></p>
<p><a href="#">Link 1</a></p>

</body>
</html>