Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.10.2015, 23:10
Новичок на форуме
Отправить личное сообщение для gorbuz9kin Посмотреть профиль Найти все сообщения от gorbuz9kin
 
Регистрация: 24.10.2015
Сообщений: 8

Спасибо за помощь.
Но тут возникли очередные траблы. Когда в хедере допустим один выпадающий список: все работает, но когда добавляешь второй - например с выбором валюты, то один из них перестает нормально "работать". к тому же при клике, допустим на title спика валют, title списка выбора языков съезжает на уровень последнего элемента другого списка.
Вот что получается http://jsfiddle.net/gorbuz9kin/m7gxk5s4/5/
Что я делаю не так?
Ответить с цитированием
  #12 (permalink)  
Старый 25.10.2015, 23:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

gorbuz9kin,
плагин вам писать надо - чтоб работало с каждым списком индивидуально ... лучше через классы и addEventListener и цикл по всем, а не id и onclick для каждого, возьмите готовые решения ... их много.
Ответить с цитированием
  #13 (permalink)  
Старый 25.10.2015, 23:53
Новичок на форуме
Отправить личное сообщение для gorbuz9kin Посмотреть профиль Найти все сообщения от gorbuz9kin
 
Регистрация: 24.10.2015
Сообщений: 8

Спасибо за совет. Так как пока в JS не силен - буду искать готовый плагин.
Ответить с цитированием
  #14 (permalink)  
Старый 26.10.2015, 00:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

gorbuz9kin,
css настройте сами
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> - jsFiddle demo by gorbuz9kin</title>
 <style type='text/css'>
 .dropdown-menu{
   width: 100px;
    float: left;
 }

 .dropdown-menu ul {
  margin: 0;
  padding: 0;
  width: 135px;
  list-style: none;
  display: none;

}
.dropdown-menu ul li {
    background: #0085b6;
    height: 35px;
}
.dropdown-menu ul li:hover {
    background: #1d9fcb;
}
.dropdown-menu ul li a {
  display: block;
  width: 100%;
  padding: 5px 35px;
  text-decoration: none;
    font-size: 15px;
    color: #fff;
}
.dropdown-menu.lang ul li:first-child a {
    background: url(http://abali.ru/wp-content/uploads/2010/12/united-kingdom-flag-16x16.png) no-repeat 5px center;
}
.dropdown-menu.lang ul li:nth-child(2) a {
    background: url(http://abali.ru/wp-content/uploads/2010/12/russia-flag-16x16.png) no-repeat 5px center;
}
.dropdown-menu.lang ul li:last-child a {
    background: url(http://abali.ru/wp-content/uploads/2010/12/ukraine-flag-16x16.png) no-repeat 5px center;
}

.dropdown-menu .title {
    display: inline-block;
    width: 100%;
    height: 20px;
    padding: 5px 0  5px 35px;
    font-size: 15px;
    line-height: 20px;
    cursor: pointer;
    background: #eaecf0  no-repeat 5px center;
}
.dropdown-menu.lang .title{
    background-image: url(http://abali.ru/wp-content/uploads/2010/12/united-kingdom-flag-16x16.png)
}


.dropdown-menu .title::after {
  content: "";
  float: right;
  display: block;
  background: url(img/arrow_down.png) no-repeat 10px center;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.dropdown-menu.open .title {
  background-color:#0085b6;
  color: #fff;
  border-bottom: 4px solid #1d9fcb;
}

.dropdown-menu.open .title::after {
  background: url(img/arrow_up.png) no-repeat 10px center;
}

.dropdown-menu.open ul {
  display: block;
}
  </style>



<script>
window.onload=function(){
	    document.addEventListener('click', function(event) {
        var open = document.querySelector('.dropdown-menu.open');
        var target = elem = event.target;
        while (target != this) {
	          if (target.classList && target.classList.contains('dropdown-menu')) {
              if(elem.tagName == 'A') {
                var titleElem = target.querySelector('.title');
	            titleElem.innerHTML = elem.textContent;
	            titleElem.style.backgroundImage =  getComputedStyle(elem, null)['backgroundImage']
	          }
              open && open != target && open.classList.remove('open');
	          target.classList.toggle('open')
	              return;
	          }
	          target = target.parentNode;
	      }
        open && open.classList.remove('open');
	})
	}
</script>

</head>
<body>
  <header>
   <div class="header-wrapper">
        <!--Dropdown List Language-->
        <div id="dropdown-menu-lang" class="dropdown-menu lang">
          <span class="title">English</span>
          <ul>
            <li><a href="#">English</a></li>
            <li><a href="#">Русский</a></li>
            <li><a href="#">Украинский</a></li>
         </ul>
        </div>
         </div>

        <!--Dropdown List Currency -->
        <div id="dropdown-menu-currency" class="dropdown-menu currency">
          <span class="title">UAH</span>
          <ul>
            <li><a href="#">USD</a></li>
            <li><a href="#">RUB</a></li>
            <li><a href="#">EUR</a></li>
            <li><a href="#">UAH</a></li>
          </ul>
        </div>


</header>

</body>

</html>
Ответить с цитированием
  #15 (permalink)  
Старый 27.10.2015, 14:54
Новичок на форуме
Отправить личное сообщение для gorbuz9kin Посмотреть профиль Найти все сообщения от gorbuz9kin
 
Регистрация: 24.10.2015
Сообщений: 8

У меня данный код не работает.
http://jsfiddle.net/m7gxk5s4/8/
Ответить с цитированием
  #16 (permalink)  
Старый 27.10.2015, 15:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

gorbuz9kin,
две ошибки 1 посмотреть параметры запуска скрипта слева на jsfiddle и не делать масло масляным оно становится прогорклым от этого и перенести тег из 18 строки в 23
http://jsfiddle.net/m7gxk5s4/9/
Ответить с цитированием
  #17 (permalink)  
Старый 28.10.2015, 15:02
Новичок на форуме
Отправить личное сообщение для gorbuz9kin Посмотреть профиль Найти все сообщения от gorbuz9kin
 
Регистрация: 24.10.2015
Сообщений: 8

спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выпадающий список без кнопок-стрелок для открытия vertmann (X)HTML/CSS 7 15.11.2013 11:43
Ext.form.ComboBox, как принудительно обнулить выпадающий список? martinelli ExtJS 4 10.07.2012 12:23
Autocomplete + выпадающий список yarnik jQuery 0 08.03.2012 15:20
Выпадающий список не помещается в div'е LA_ Элементы интерфейса 5 01.11.2010 10:43
Выпадающий список с возможностью ввода текста LA_ Элементы интерфейса 6 27.10.2010 16:30