• Добавление в шапку выбраной категории?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Для решения твоей задачи воспользуемся селектором :target и событием onhashchange...

    <div class="btn-group">
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
        Action <span class="caret"></span>
      </button>
      <ul class="dropdown-menu" role="menu">
        <li title="Action" id="action" ><a href="#action">Action</a></li>
        <li title="Another action" id="aaction"><a href="#aaction">Another action</a></li>
        <li title="Something else here" id="some"><a href="#some">Something else here</a></li>
        <li class="divider"></li>
        <li title="Separated link" id="separ"><a href="#separ">Separated link</a></li>
      </ul>
    </div>
    
    <script>
    window.onhashchange = function(e){ 
    	        var secure = '; secure';
    /* имя поля куки */
    	        var name = 'menu';
    /* ложим пункт меню в шапку сайта */
    	        document.title  = document.getElementById(window.location.hash.substring(1)).title; 
    /* ложим пункт меню в куки сайта */
    	        document.cookie = [   name, '=', encodeURIComponent(document.title), secure].join('');
    });
    </script>
    
    <style>
    /* CSS */
     li[id]:target {
        /* здесь позиционируеш блок li в шапке меню */
    }
    </style>
    Ответ написан
    Комментировать
  • Пробелма cookies в разных браузерах?

    mlnkv
    @mlnkv
    JavaScript Developer
    Вы неправильно ставите куку
    //получить куку user
    cookie("user");
    
    // установить куку "user" равную "john"
    cookie("user", "John");
    
    // установить куку "user" равную "john" на 24 часа
    cookie("user", "John", 24);
    
    // установить куку "user" равную "john" на 1 месяц для пути "/"
    cookie("user", "John", 24 * 30, "/");
    
    // установить куку "user" равную "john" на 1 месяц для страницы "auth"  домена ".example.net"
    cookie("user", "John", 24 * 30, "/", ".example.net");
    Ответ написан
    1 комментарий
  • Пробелма cookies в разных браузерах?

    @dmitryprogrammer
    Я не понимаю, почему кука не ставиться кроссбраузерно, вероятно вы не правильно написали ф-цию?
    Через простой
    document.cookie
    все успешно устанавливается.

    Поделюсь с вами двумя гистами, эти ф-ции я взял из учебника по js, может помогут, получить куку, задать куку.
    Ответ написан
    1 комментарий
  • Пробелма cookies в разных браузерах?

    @IceJOKER
    Web/Android developer
    проблема в том, что куки через эти браузеры не устанавливаются, вот и не получаете. а почему не устанавливается - это уже другой вопрос, ответ на который можно получить лишь если вы напишите как устанавливаете эти куки, ибо нет тут экстрасенсов
    Ответ написан
    2 комментария
  • Как довести код JS до нормального состояния?

    @dmitryprogrammer
    Помимо выше сказанного, я бы не плодил так много слов var, а перечислял бы объявления переменных через запятую.
    Ответ написан
    7 комментариев
  • Как довести код JS до нормального состояния?

    @IceJOKER
    Web/Android developer
    getArt(){} вместо getart(){}

    var random = Math.random(); //потом используем его в обеих случаях, ибо нех дважды получать случайное число )

    ну и все Оо, не знаю , что вы подразумеваете под "довести код до конца|до нормального состояния"
    Ответ написан
    2 комментария
  • Как разобраться с локальными и глобальными методами?

    5angel
    @5angel
    Фронтенд-лид
    Правильно – завернуть в отдельный скоуп. Например, в самовызывающейся функции:

    (function () {
      var foo = "bar";
    })();
    console.log(foo); // Uncaught ReferenceError: foo is not defined
    Ответ написан
    Комментировать
  • Как разобраться с локальными и глобальными методами?

    @hedint
    Web разработчик
    Тысячи способов. :)
    Например:
    MyPerfectNameForObj = function () {
    	currentWins: function () {
    		var wins = cookie('wins'); //сохраним результат сразу вместо того, чтобы запрашивать 2 раза
    		if (wins > 1) {
    			this.counter = wins;
    		} else {
    			this.counter = 1;
    		}
    	}
    }
    MyPerfectNameForObj.currentWins();
    
    MyPerfectNameForObj.counter; // получить доступ к counter
    Ответ написан
    Комментировать
  • Как реализовать идею?

    wtf_object
    @wtf_object
    А в чем проблема? Если проблема в верстке, то можно использовать какой-нибудь фреймворк, например: bootstrap, в котором такая разметка реализуется, с помощью ряда+3 стобцов.

    Каждой кнопке в data-* атрибут можно указать ее ID.
    Дальше подписать кнопки на событие клика и при обработке получать номер кнопки и сверять с номером ответа.

    Загружать картинку, показывать \ скрывать текст, менять текст кнопок - все легко реализуется с помощью того же jQuery.
    (просто меняем css \ value)

    Если заморачиваться, можно подключить фреймворк и для работы JS. (например какой-нибудь Аngular?)
    Ответ написан
    1 комментарий
  • Растолкуйте код js?

    mlnkv
    @mlnkv
    JavaScript Developer
    кстати, вот нормальная ф-ция для работы с куками

    function cookie(key, value, days, path, domain) {
      var expires = new Date(),
        pattern = "(?:; )?" + arguments[0] + "=([^;]*);?",
        regexp = new RegExp(pattern);
      if (key && value !== undefined) {
        var str = key + '=' + encodeURIComponent(value);
        if (days) {
            expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
            str += '; expires=' + expires.toGMTString();
        }
        if (path)    str += '; path=' + path;
        if (domain)  str += '; domain=' + domain;
        return document.cookie = str;
      }
      else if (regexp.test(document.cookie)) return decodeURIComponent(RegExp["$1"]);
      return false;
    }


    cookie("user", "John Doe"); //установить куку user
    cookie("user"); // получить куку user
    Ответ написан
    Комментировать
  • Растолкуйте код js?

    @vrn_ehot
    Функция выводит значение заданной куки
    function getCookie(cname) {
      var name = cname + "=";
      var ca = document.cookie.split(';'); // получаем массив переменных куков в виде строк "ключ=значение"
      for(var i=0; i<ca.length; i++) 
        {
        var c = ca[i].trim(); // удаляем лишние пробелы
        if (c.indexOf(name)==0) // если очередная строка начинается на искомый ключ
           return c.substring(name.length,c.length); // возвращаем часть строки после ключа (т.е. значение)
        }
      return "";
    };
    Ответ написан
    Комментировать