2014-09-09 2 views
0
<script> 
     $(function() { 
      // Clickable Dropdown 
      $('.click-nav > ul').toggleClass('no-js js'); 
      $('.click-nav .js ul').hide(); 
      $('.click-nav .js').click(function(e) { 
       $('.click-nav .js ul').slideToggle(200); 
       $('.clicker').toggleClass('active'); 
       e.stopPropagation(); 
      }); 
      $(document).click(function() { 
       if ($('.click-nav .js ul').is(':visible')) { 
        $('.click-nav .js ul', this).slideUp(); 
        $('.clicker').removeClass('active'); 
       } 
      }); 
     }); 
</script> 

<div class="click-nav"> 
    <ul class="no-js"> 
     <li><a class="clicker"><span id="profile">Drop down</span></a> 
      <ul> 
       <li><a href="https://www.google.com">Google</a></li> 
       <li><a href="https://www.facebook.com">Facebook</a></li> 
      </ul> 
     </li> 
    </ul> 
</div> 
  1. Опуститесь отлично работает при нажатии, но он скользит вверх либо гармошку или нажал на веб-страница в любой другой точке аккордеон скользит вверх.
  2. Ссылки в раскрывающемся списке не работают, они отображаются в левой нижней части веб-страницы, когда привязки наведите указатель мыши, но аккордеон слайды вверх и страница не перенаправляется при нажатии.
+0

можно запустить код на скрипке? –

+0

Никакая часть JS не работает на скрипке, но падение аккордеона отлично работает на моей веб-странице. –

ответ

0

Ну, вы говорите, что аккордеон скользит каждый раз, когда нажимается документ. Этот jQuery проскальзывает при каждом нажатии ссылок и выполняется первым, закрывая аккордеон и разбивая ссылки. Вам действительно нужно использовать какой-то другой дескриптор, чтобы аккордеоны сдвигались вверх и помещали это как селектор jQuery вместо $(document). Фактически, я бы справился с открытием и закрытием аккордеона в той же функции.

Edit: Вот fiddle

+0

Мои навыки jQuery не так хороши, это код для копирования-вставки с 100 попытками, достигнутыми до такой степени, я не могу делать никаких дальнейших изменений, поскольку это выходит за рамки моего понимания. –

+0

Извините, я добавил скрипку. Некоторые советы jQuery - Во-первых: я думаю, что вы пытаетесь сделать слишком много с jQuery; использование css тоже. Второе: не стесняйтесь добавлять селекторов в DOM, это сделает вашу жизнь в javascript намного проще. – bowheart

+0

Это работает потрясающе в скрипке, которую вы делитесь, но не работаете над моим проектом. Событие. Я сделал один html-документ с внутренним css и js, но не работал. –

0

Ваш код работает нормально, и нет никакой ошибки либо.

1) Выпадающий список переключается, когда вы написали код, чтобы переключить его с помощью метода slideToggle (200), и он также переключается, когда вы щелкнете по документу в любом месте, если вы увидите раскрывающийся список.

2) ссылки работают нормально, они следуют по пути.

Единственное предостережение, которое вы должны предпринять, - это не нажимать нигде в параллели с текстом «Сбрасывать», так как div «click-nav» имеет ширину 100%.

Смежные вопросы