Задать вопрос
Ответы пользователя по тегу JavaScript
  • Как исправить ошибку "SyntaxError: Unexpected token {" в Google Chrome?

    Видимо синтаксис ES6 ещё не поддерживается в хроме.
    Ответ написан
    Комментировать
  • Как использовать ng-if с асинхронной функцией?

    Ваш код делает не то, что вы ожидаете.
    Функция showImage не возвращает ничего (undefined), функция, которая возвращает true в случае корректных размеров вызывается асинхронно и true/false значение возвращается тому, кто эту функцию вызвал.
    Для того, чтобы всё заработало при событии load нужно устанавливать некоторое значение. Судя по всему у вас используется ng-repeat - так что простым вариантом будет просто установка для элемента массива флага isGoodSize в значение true, когда срабатывает ваш ивент.
    img.addEventListener("load", function() {
                var ratio = this.naturalWidth / this.naturalHeight;
                if (ratio > 2) {
                    $scope.items[index].isGoodSize = true;
                } else {
                    $scope.items[index].isGoodSize = false;
                }
            })

    А в html будем иметь следующее:
    <img class="main-img" ng-show="item.isGoodSize" ng-src="{{item.img}}">

    Не забудьте установить значение isGoodSize в false при инициализации массива.
    Ответ написан
    Комментировать
  • Как сделать больше одного спойлера, помoмогите подправить JS?

    Проблема в том, что селектор $('.spoiler_toggle') находит оба спойлера, а вам нужно найти только тот на который кликнули. Проще всего добавить в селектор второй параметр, который будет являться контекстом (областью поиска). В данном случае $this.parent() это блок <div></div> в который обёрнут спойлер.
    Результат будет такой:
    $('.spoiler_toggle',$(this).parent()).slideToggle(0, 
                 function() {
                 	var visible = $(this).is(':visible');
                 	$('.spoiler_indicator', $(this).parent()).html(visible ? 'Закрыть' : 'Открыть');
             	}
             );
    Ответ написан
    1 комментарий
  • Покритикуйте верстку, какие в ней есть ошибки?

    1. Меню по кнопке справа сверху при небольших(600-900px по ширине) расширениях не поверх всего.
    2. text-shadow очень мешает читать текст. Либо убрать его, либо сделать более ярким сам текст.
    3. В карусельке с отзывами текст заезжает под контролы при небольших расширениях.
    4. Не хватает ховеров (например как на GET REWARDED) на пунктах меню сверху.

    А вообще очень даже неплохо.
    Ответ написан
    1 комментарий
  • Как отрендерить директиву в контроллере?

    Цитата из доки по angular js:
    Angular normalizes an element's tag and attribute name to determine which elements match which directives. We typically refer to directives by their case-sensitive camelCase normalized name (e.g. ngModel). However, since HTML is case-insensitive, we refer to directives in the DOM by lower-case forms, typically using dash-delimited attributes on DOM elements (e.g. ng-model).

    В вашем случае нужно изменить код на :
    var temp = "<div my-dir></div>";
    Ответ написан
    Комментировать