Jump to content

grafnet

User
  • Posts

    31
  • Joined

  • Last visited

Information

  • Sex
    мужской
  • From
    Украина

grafnet's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Адаптивная верстка IE10+ Для себя сделал вывод, меню лучше делать два: одно полноразмерное, другое для мобильных устройств. Правда, в ie8 не отображается ровным счетом ничего(пустая страница), что для меня пока загадка. Может кто знает ответ?
  2. Это так, но если бы можно было бы вдруг сделать на css - почему бы и нет? Но селектора, для подъема на уровень выше нету.
  3. Есть разметка пагинации. <div class="pagination"> <a class="page-btn page-btn-prev" href="#">Предыдущая</a> <a class="page-btn current-page" href="#">1</a> <a class="page-btn" href="#">2</a> <a class="page-btn" href="#">3</a> <a class="page-btn page-btn-next" href="#">Следующая</a></div>Можно ли как-то прятать/делать видимыми page-btn-prev и page-btn-next в зависимости от позиции current-page используя css селекторы? Если вторая ссылка с классом current-page - не показывать page-btn-prev Если предпоследная ссылка с классом current-page - не показывать page-btn-next Вот так начал .pagination .page-btn-prev,.pagination .page-btn-next{ display: none;}.pagination a:nth-child(2):not(.current-page) /* как-то обратися к .page-btn-prev*/ { display: inline-block;}.pagination a:nth-last-child(2):not(.current-page) /* как-то обратися к .page-btn-next*/ { display: inline-block;}
  4. Разобрался, нужно было лишь подключить classList.js до основной js логики, а не после.
  5. 1. В js логике есть classList.add, для его работы в IE8 использую полифил classList.js. Однако, функции, которые используют classList.add по прежнему не отрабатывают(классы не добавляются), как если бы полифила и не было. 2. Делаю эмуляцию поддержки nth-child для IE8, вот таким способом хочу добавить дополнительный класс для ie8 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script><script>$('.form input:nth-child(2n)').addClass('nth-child-2n');</script><style> .nth-child-2n { margin-right: 0; }</style>Но IE напрочь не собирается реагировать на это, и класс nth-child-2n не добавляться. Ошибок в js IE не видит. Быть может, кто-то сталкивался с подобным?
  6. 1. Есть очень простая проверка полей в форме авторизации loginForm.addEventListener("submit", function(event) { if (!(inputLogin.value && inputPassword.value)) { event.preventDefault(); console.log("Введите логин и пароль") } else { ... }});Это работает до тех пор, если не добавить атрибут required для input, т.е. выполнение js условия блокируется. Как быть в таких случаях, когда нужно, чтобы и required присутствовал и событие выполнялось? 2. Если поля незаполненные - добавляю ксласс ошибки модальному окну. Но при повторном попытке отправки формы - класс modal-error не удаляется.
  7. Можно также подробней разъяснить этот момент: Т.е. вызывается снова deepEqual с передачей свойств, а как дальше происходит само сравнение этих свойст?
  8. awdf, спасибо! Было бы чрезвычайно круто, если бы Вы еще расписали логику решения заданий словами. Например во втором задании мне не полностью потянет этот участок и еще другие моменты. for(var property in obj1) { if(obj1.hasOwnProperty(property) && obj2.hasOwnProperty(property)) { if(!deepEqual(obj1[property], obj2[property])) { equals = false; } } else { equals = false; } }
  9. Выполяю задания из книги по js: 1. Списки Списки удобны тем, что они могут делиться частью своей структуры. Например, можно сделать два списка, {value: 0, rest: list} и {value: -1, rest: list}, где list – это ссылка на ранее объявленную переменную. Это два независимых списка, при этом у них есть общая структура list, которая включает три последних элемента каждого из них. Кроме того, оригинальный список также сохраняет свои свойства как отдельный список из трёх элементов. Напишите функцию arrayToList, которая строит такую структуру, получая в качестве аргумента [1, 2, 3], а также функцию listToArray, которая создаёт массив из списка. Также напишите вспомогательную функцию prepend, которая получает элемент и создаёт новый список, где этот элемент добавлен спереди к первоначальному списку, и функцию nth, которая в качестве аргументов принимает список и число, а возвращает элемент на заданной позиции в списке, или же undefined в случае отсутствия такого элемента. Если ваша версия nth не рекурсивна, тогда напишите её рекурсивную версию. console.log(arrayToList([10, 20]));// → {value: 10, rest: {value: 20, rest: null}}console.log(listToArray(arrayToList([10, 20, 30])));// → [10, 20, 30]console.log(prepend(10, prepend(20, null)));// → {value: 10, rest: {value: 20, rest: null}}console.log(nth(arrayToList([10, 20, 30]), 1));// → 20C функцией arrayToList я разобрался, а вот в остальным - никак. 2. Глубокое сравнение Оператор == сравнивает переменные объектов, проверяя, ссылаются ли они на один объект. Но иногда полезно было бы сравнить объекты по содержимому. Напишите функцию deepEqual, которая принимает два значения и возвращает true, только если это два одинаковых значения или это объекты, свойства которых имеют одинаковые значения, если их сравнивать рекурсивным вызовом deepEqual. Чтобы узнать, когда сравнивать величины через ===, а когда – объекты по содержимому, используйте оператор typeof. Если он выдаёт “object” для обеих величин, значит нужно делать глубокое сравнение. Не забудьте об одном дурацком исключении, случившемся из-за исторических причин: “typeof null” тоже возвращает “object”. var obj = {here: {is: "an"}, object: 2};console.log(deepEqual(obj, obj));// → trueconsole.log(deepEqual(obj, {here: 1, object: 2}));// → falseconsole.log(deepEqual(obj, {here: {is: "an"}, object: 2}));// → true
  10. Но, в таком случе, список вариантов автоматически не выпадет. Жать руками ctrl + space? Не очень то удобно. Остается писать по пол тега и жать tab Зачем же тогда редактор сам асоциирует автокомплит с "<", если в итоге получается результат вида:"<<...></...>"?
  11. Решил попробовать Sublime Text 2(build:2181), но возникла такая проблема... Например, ставим открывающуюся скобку "<" -> появляются варианты автокомплита -> жмем "d" -> жмем enter В итоге получаем такой результат: <<div></div> То есть, имеем лишнею скобку, которая, сообственно, и запускала автокомплит. Может кто сталкивался с такой проблемой?
  12. Вместо preg_split() лучше воспользоваться explode().
  13. Я не увидел того, чтобы <select> заменялся на другие элементы, перед ним только <span> с выбранным пунктом появляется. В общем - обойдусь и без стилизации <select>.
  14. В общем сделал отправку формы при клике по пункту в списке: <script language ="JavaScript"> <!-- function paramChange() { document.form.submit(); } --> </script> <form action="#" method="POST" name="form"> <select onChange="paramChange()" name="num"> <option value="5" selected>Show 5</option> <option value="10">Show 10</option> <option value="25">Show 25</option> <option value="30">Show 30</option> </select> </form> Но для стилизации списка уже прикрутил скрипт custom-form-elements.js И как только дописываю к <select> class="styled" отправка формы перестает работать. Может кто сталкивался с этим скриптом и знает как решить данную проблему, или как-то изменить сам способ отправки форми(без нажатия submit)?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy