jQuery SuperFish Ошибка: jQuery ("ul.sf-menu"). superfish не является функцией - PullRequest
2 голосов
/ 16 декабря 2011

У меня проблемы с выпадающим меню суперфиши - оно работало нормально до того, как я добавил jQuery.Columnizer в свой проект. Вынесенный колонизатор jQuery устраняет проблему для superfish.js - однако, когда оба они включены и запущено, выпадающее меню отображается при наведении курсора на меню, но при попытке щелкнуть ссылку меню в раскрывающемся меню, раскрывающийся список исчезает. Кажется, я не могу решить эту проблему - я погуглил и следовал различным советам и примерам, но безрезультатно.

Я использую колонизатор, чтобы разделить содержимое на 3 колонки. Проблема в том, что я ссылаюсь на 2 библиотеки jquery?

Superfish.js

<link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css' />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<link href="/assets/css/main.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="/assets/css/superfish.css" media="screen" />
<script type="text/javascript" src="/assets/js/hoverIntent.js"></script>
<script type="text/javascript" src="/assets/js/superfish.js"></script>
<script type="text/javascript" src="/assets/js/jquery-1.2.6.min.js"></script>

  <script type="text/javascript">
      // initialise plugins
      $(document).ready(function () {
          jQuery('ul.sf-menu').superfish();
          //alert("hello i am working... maybe or maybe not!");
      });
</script>

Columnizer.js

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="/assets/js/jquery.columnizer.min.js" type="text/javascript"></script>

<script type="text/javascript">
$('#wrapper').columnize();
$('.wide').columnize({ width: 200 });
</script>

ОБНОВЛЕНИЕ: Вот решение проблемы;

<add key="**********.*********.***.JQuery.Path" value="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"/>

, взяв обе предыдущие ссылки и обновив их до последней версии CDN, он гарантированно работал - я ссылался на .JS в моем webconfig, а затем на код позади страницы. Фуф ... работает сейчас - спасибо за вашу помощь людям.

1 Ответ

3 голосов
/ 16 декабря 2011

вы добавляете jquery дважды, удалите эту строку

<script type="text/javascript" src="/assets/js/jquery-1.2.6.min.js"></script>

или если вам нужно включить две версии jquery на одной странице из-за поддержки плагинов, обратитесь к этому ответу

https://stackoverflow.com/a/528251/413670

EDIT

если ваши плагины поддерживают версию jquery, попробуйте это

<link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css' />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<link href="/assets/css/main.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="/assets/css/superfish.css" media="screen" />
<script type="text/javascript" src="/assets/js/hoverIntent.js"></script>
<script type="text/javascript" src="/assets/js/superfish.js"></script>
<link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css' />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<link href="/assets/css/main.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="/assets/css/superfish.css" media="screen" />
<script type="text/javascript" src="/assets/js/hoverIntent.js"></script>
<script type="text/javascript" src="/assets/js/superfish.js"></script>
<script src="/assets/js/jquery.columnizer.min.js" type="text/javascript"></script>

<script type="text/javascript">
      // initialise plugins
      $(document).ready(function () {
          jQuery('ul.sf-menu').superfish();          
          $('#wrapper').columnize();
         $('.wide').columnize({ width: 200 });

      });
</script>
...