JavaScript
A programming language that conforms to the ECMAScript specification
Explore Questions
There are no popular questions to show right now
-
0 votes0 answers
-
0 votes1 answer
-
0 votes1 answer
-
0 votes0 answers
-
Требуется переход к следующему блоку теста при условии, что в нынешнем блоке сумма ответов равна 10.
0 votes1 answer
4,712 questions in this forum
-
Скачиваем файл с помощью Ajax!
Всем, привет! Подскажите, кто сталкивался с подобной проблемой: Нужно скачать файл с сервера, но с помощью ajax запроса. Проблема заключается в том, что функция readfile() считывает содержимое файла и возвращает его в ajax запрос в качестве ответа. А нужно, чтобы файл скачивался. Вот, мой код $.ajax({ url: "../download.php", type: "POST", data: ({file: filepath}), dataType: "html", success: function(data, d) { if (d == 'success') { alert('Ура!'); } else { alert('Блин'); } }});<?php$filename = $_POST['file'];$ctype = 'text/plain';if (isset($filename) and file_exists($filename)) { header('Content-…
0 votes2 answers -
jQuery show/hide меню после клика
Задание: По клику на ссылку появляется меню. По клику в любом другом месте кроме, области меню, оно должно "прятаться". Меню появляется, но не "прячется". В поиске наткнулся на такой метод как not(), но реализовать все равно не смог. Возможно не через него надо делать(?). Помогите, пожалуйста. //#button-project - ссылка, по клику которой, появляется меню.//.menu-projects - меню.$(document).ready(function(){ $("#button-project").click(function(){ $(".menu-projects").show(); }); $("not(.menu-projects)").click(function(){ $(".menu-projects").hide(); }); });
0 votes8 answers -
Порядок gulp конкатенации!
Всем привет! На днях столкнулся с такой проблемой: gulp-concat собирает файлы не в том порядке, в котором мне нужно. Из-за этого скрипт работает неправильно. Пробовал менять местами элементы массива в gulp.src() - не помогло. Может кто знает, как работает эта штука и как изменить порядок конкатенации файлов? Спасибо!
0 votes4 answers -
Как отменить действие скролла?
Всем доброго времени суток! Требуется помощь в решении такой вот проблемы: В js-файле имеется вот такой вот код $(window).scroll(function () { // тут какой-то код }); И этот js-файл подключается ко многим страницам. Но на некоторых действие при скролле не требуется. Так вот как можно его отменить? И еще вопрос по той же теме: Почему javascript выполняет оба кода, кода они расположены на одной страницы друг под другом, а не перезаписывает один другим? Как это работает? $(window).scroll(function () { // тут какой-то код 1 }); $(window).scroll(function () { // тут какой-то код 2 }); Спасибо всем, кто откликнется!
0 votes5 answers -
Помогите разобраться с двумя задачами на js
Выполяю задания из книги по js: 1. Списки Списки удобны тем, что они могут делиться частью своей структуры. Например, можно сделать два списка, {value: 0, rest: list} и {value: -1, rest: list}, где list – это ссылка на ранее объявленную переменную. Это два независимых списка, при этом у них есть общая структура list, которая включает три последних элемента каждого из них. Кроме того, оригинальный список также сохраняет свои свойства как отдельный список из трёх элементов. Напишите функцию arrayToList, которая строит такую структуру, получая в качестве аргумента [1, 2, 3], а также функцию listToArray, которая создаёт массив из списка. Также напишите вспомогательную фун…
0 votes5 answers -
один обработчик на несколько ajax запросов
доброго времени суток. пожалуйста подскажите, как организовать одну обратонку на несколько параллельных аякс запросов. вся проблема в том, что аякс инициализируется при клике на кнопку, например: на странице есть штук 10 кнопок, при клике на который происходит аякс запрос на сервер, по завершению алерт. как показала практика люди могут нажать на следующую кнопу пока не завершился предыдущий запрос (кнопки блокировать нельзя) и получается что после выполнения всех запросов выскакивает Nое кол-во алертов, а хотелось бы один с сообщением об окончании. заранее спасибо тем кто покажет рабочий пример.
0 votes10 answers -
Вставка текста в textarea.
Здравствуйте ! Решил сделать на свой сайт комментарии. Есть такая функция: function citata(message) { message = message + 'mess'; document.getElementById('outmess').innerHTML += document.getElementById(message).innerHTML; }Она вставляет в текстовое поле текст из написанных ранее сообщений. Во-первых, текст исправно вставляется лишь до внесения изменений в это текстовое поле. Стоит написать любую букву, как вставка перестаёт работать. Во-вторых, пытаюсь сделать перевод строки после вставки символом "\n", но оно не работает. И к тому же, если перенос строки уже был в цитируемом сообщении, то в форму оно вставляется с тегом - <br>. Как и следовало ожидать, …
0 votes31 answers -
jQuery. Бесконечная карусель
Всем привет. Начал изучение js и jQuery, написал простенькую тестовую карусель. Вот код: http://jsfiddle.net/LOL1/utxmto66/ Возникло несколько вопросов: 1) Слайдер работает если дожидаться анимации перехода, но если кликать быстро, контейнер со слайдами просто вылетает за пределы. Как это исправить? 2) Допустим, у меня есть функция, с помощью которой слайды периодически переключаются сами(setinterval/settimeout). При клике пользователем на слайды эта функция должна выключаться(это понятно как), но как снова её включить? Т.е. если пользователь не кликает на слайды, то включить функцию. Такого события как "не кликает" нет))) (можно сделать с помощью .mouseleave(), но…
0 votes7 answers -
JQuery Fancybox открыть текущее изображение
Задача : при клике на активное изображение в слайдере открывается Fancybox, который содержит это изображение. Структура html примерно следующая. "flex-active-slider" применяется динамически и обозначает активное на данный момент изображение. <ul> <li class="flex-active-slider"> <img src="img1.png"> </li> <li class=""> <img src="img2.png"> </li> <li class=""> <img src="img3.png"> </li></ul>JS: $(window).load(function() {$(".flex-active-slide").click(function() { var img = $(this).find('img'); $.fancybox.open([ { href: "img.attr('src')" } ]);});}В итоге, fa…
0 votes3 answers -
API слайдера Fotorama
Доброе утро. Пытаюсь разобраться с API Fotorama. Задача следующая. Есть исходные изображения, которые подгружаются в слайдер при первой загрузке страницы. Надо при изменении выпадающего списка менять сами изображения в слайдере. В документации написано, что это можно сделать при помощи метода load(), но при этом надо соблюсти закономерности, которые применялись при изначальной загрузки изображений data(). Попробовал сделать так: $(function(){/* загрузка изображений при первом заходе на страницу*/ $('.fotorama').fotorama({ data: [ {img: 'images/7.jpg', thumb: 'images/7.jpg'}, {img: 'images/8.jpg', thumb: 'images/8.jpg'}, {im…
0 votes8 answers -
42 одинаковых скрипта c различными парам-ми на одной странице
Есть 42 формы в модальных окнах. Для каждой Я написал считалку типа калькулятора c различными парам-ми для каждой формы на одной странице. как упростить код формы или скрипта чтобы не городить много кода форм?! <!DOCTYPE html><html><head><script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script><script>$(window).load(function () {calc();});function calc(){ if(document.getElementById('d1').checked == true){var noil=document.getElementById('names1').innerHTML="Name12";var coil=document.getElementById('sht1').innerHTML="1шт.";var cnoil=document.getElementById('ocen1').innerHTML=100;var fnoil=document.getEleme…
0 votes27 answers -
Не работает массив
<?php } if ($use_wm) { $ammhamoneyid = array('ammh1',); $ammhamoneytitle = array('MOD_AMONEY_WEBMONEY',); $ammhamoneyonclick = array('show_wm',); } if ($use_rupay) { $ammhamoneyid = array('ammh2',); $ammhamoneytitle = array('MOD_AMONEY_RBKMONEY',); $ammhamoneyonclick = array('show_rupay',); } if ($use_yandex) { $ammhamoneyid = array('ammh3',); $ammhamoneytitle = array('MOD_AMONEY_YANDEX',); $ammhamoneyonclick = array('show_yandex',); } if ($use_paypal) { $ammhamoneyid = array('ammh5',); $ammhamoneytitle = array('MOD_AMONEY_PAYPAL',); $ammhamoneyonclick = array('show_paypal',); } if ($use_moneybookers) { $ammhamoneyid = array('ammh7',); $ammhamoneytitle = …
0 votes21 answers -
Работа с массивами и цикл for
Здравствуйте. Есть задача, пройтись по массиву и сортировать так, чтобы все 0 были в конце массива. Написал такой код 'use strict'var arr = [1, 5, 0, 10, 0, 65, 0];function moveZeros(some) { let str; for(let i = 0; i < some.length; i++) { if(some[i] == 0) { str = some.splice([i], 1); some = some.concat(str); } } return some;}console.log(moveZeros(arr));В данном примере все сортирует правильно, но если массив будет вида скажем [0, 0, 0, 1], то не будет правильно и на выходе получим [0, 1, 0, 0] вместо [1, 0, 0, 0] Например имеем такую ситуацию, что var arr = [0, 0, 0, 1] Цикл в первый раз пробежался по массиву, первый (нулевой) элемен…
0 votes27 answers -
После запроса $.post возвращаются иероглифы
$.post( "wp-content/themes/mythe/page-konst.php",{ scriptCharset: "utf-8", plan_i2:plan_i2, klass:klass }, onAjaxSuccess2); // - запустим анимацию загрузки function onAjaxSuccess2(data){stopLoadingAnimation(); $('.top-const').append(data); }}); "Впервые пробую Аякс. По этому не кричать на валидность" - Проблема вот в чем. Делаю запрос который написан выше. В нем передаю две переменные. В ответ мне должен прийти кириллический текст. Но приходит ломаная кодировка в стиле иероглифов ((( Цифры и латиница идет нормально. .... В header <meta charset="utf-8">. В базе тоже норм все. Кто владеет мудростью , поделитесь ?
0 votes21 answers -
Uncaught SyntaxError: Unexpected token =>
$currencies88 = array( 'WMR' => 'P', 'WMZ' => '$', 'WME' => '€', 'WMU' => '₴', 'WMB' => 'Br', ); echo "<div class=\"cont1\" style=\"text-align: center;\">"; echo "<div id=\"ammh15\" class=\"ctynh15\" style=\"text-align:center;\"></div>"; echo "</div>"; echo "$off_intrerst"; echo "<form id=\"wm-pay\" action=\"".$wm_url_adds."\" method=\"post\" target=\"_blank\"><div class=\"cont1\" style=\"text-align: center;\">"; if ($wmval_on == 1) { $javaScript = <<< JAVASCRIPT <script type="text/javascript"> function donateChangeCurrency( ) { var selection1Obj = document.getElementById( 'wm-pay-3' )…
0 votes18 answers -
Как связать переменную в ng-repeat?
Всем привет! Не так давно я задавал вопрос по поводу связывание внутри ng-repeat. Проблема была в том, что внутри блока с ng-repeat angular создает собственный scope для переменных внутри него и никак не привязывает их к переменным в scope контроллера. Вот пример кода представления: <li ng-repeat="item in items"> <div>{{item.name}}</div> <input ng-model="newItemName"></li>Не смотря на то, что в scope контроллера есть переменная newItemName, она никак не связана с той, что используется в input. Проблему я решил следующим образом: <li ng-repeat="item in items"> <div>{{item.name}}</div> <input ng-model="$parent…
0 votes5 answers -
замыкания
Здравствуйте. Вот пример из учебника: function makeBuffer() { var text = ''; return function(piece) { if (arguments.length == 0) { // вызов без аргументов return text; } text += piece; }; }; var buffer = makeBuffer(); // добавить значения к буферу buffer('Замыкания'); buffer(' Использовать'); buffer(' Нужно!'); alert( buffer() ); // 'Замыкания Использовать Нужно!' Объясните пожалуйста два момента: 1 - зачем функцию makeBuffer() присваивать переменной buffer? 2 - вот этим вызовом buffer('Замыкания') (и всеми такими же) получается что передаем аргумент в функцию оболочку, а использует его внутренняя функция function(piece). Вот такая запись для меня была бы понят…
0 votes1 answer -
Сравнение двух дат и времени
Здравствуйте. Есть две даты событий в таком формате: 2015/10/23 13:00 и 2015/10/23 12:30. Можно ли их привести к числам и сравнивать между собой таким образом: 201510231300 > 201510231230 На первый взгляд все работает, но мне кажется, я что-то не учел. Работоспособный ли такой вариант?
0 votes5 answers -
Как спрятать скроллбар?
Собственно вопрос в заголовке темы. Мне надо скроллбар сделать невидимым, но чтобы при прокрутке колёсиком страница скролилась. Как? Погуглил - узнал 2 варианта - сделать вложеный див, либо использовать JS. 1 вариант - в приципе не нравится, да и ещё чтобы что что-нибудь прокручивалось нужно тыкнуть в область дива. По поводу 2 варианта ничего так и не нашёл. Не подскажите как мне реализовать описанное выше?
0 votes5 answers -
Помогите включить события браузера после preventDefault()
Здравствуйте. Выполняю работу с применением drag and drop. Вроде все получается хорошо. Но после того как стал устанавливать обработчики для Android, столкнулся в проблемой. Может для многих она покажется смешной. Чтобы передвижение объекта пальцем по сенсорной панели было корректным мне пришлось отключить обработчики браузера по умолчанию. Я это сделал использовав event.preventDefault(). Как теперь мне обратно вернуть эти обработчики по умолчанию после того как передвигаемый объект отпущен? Весь интернет перерыл. Как отключить обработчики по умолчанию описаны во многих статьях, а как включить обратно нигде найти не могу.
0 votes2 answers -
ngModel в ngRepeat - проблема дочерних scope
Всем привет! Требуется помощь с особенностями AngularJS. С особенностями связывания(ng-model) внутри директивы ng-repeat. На сколько я понял, при таком использовании возникают какие-то дочерние scope, которые никак не связаны со scope контроллера: <div ng-repeat="item in items"><input type="text" ng-model="myVar"/></div>Вопрос, собственно, в том, как все-таки связать в данном случае input'ы всех div'ов с перменной myVar? Нашел статью на хабре: http://habrahabr.ru/post/223529/ И вопрос на Toster'е: https://toster.ru/q/191877 Но так и не понял как применить эти знания в моем примере. Поскольку там идет речь о привязке элементов массива (или свойств элеме…
0 votes7 answers -
как отследить событие?
Добрый день, подскажите пожалуйста как определить какой какой скрипт обрабатывает событие. на сайте тут меню, при наведении открывается мегаменю, как отловить где это происходит?
0 votes14 answers -
Вывод нескольких результатов вычисления скрипта.
Добрый день! Понимаю что вопрос глупый и он от незнания js, но тем не менее мне не удалось найти ответ самостоятельно. Есть скрипт который считает 3 разных результата и есть форма из которой берутся значения. И есть 3 поля, куда надо вывести эти 3 значения. Но по непонятной мне причине, во всех 3-х полях выводится первое значение. Вопрос: как вывести в каждое поле свое значение? <script> function SumAll() { var myform = document.forms.myform; var a=parseFloat(myform.a.value); var c=parseFloat(myform.c.value); var sum = (a + c)/0.001532; var sum2 = Math.round(sum)/100; myform.som.value = sum2; …
0 votes2 answers -
Делегирование - это хорошо?
Добрый день! Интересует такой вопрос: есть ли что-то плохое в делегировании событий? Хочу сделать динамическую подгрузку контента на всем сайте. И чтобы обработчик событий всегда работали, думаю, использовать делегирование. То есть все обработчики вешать через body: $('body').on('event', 'selector', func); Есть ли у этого какие-то побочные эффекты, чем это может обернуться? Или можно спокойно ставить все обработчики таким образом? Спасибо!
0 votes3 answers -
связать обработчик в элементами без обновления страницы
помогите пожалуйста советом на страничке есть список из 10 элементов. на каждый элемент повешен обработчик: $('#el').on('click', function(e){ bla}обаботчик вешает некоторый цикл, который отрабатывает по событию document.ready затем я при помощи ajax добавляю несколько элементов к вышеуказанному списку. проблема в том, что с ними не связан вушеуказанный обработчик. поэтому мне приходится обновлять страницу, в результате чего цикл вновь переберёт все элементы списка и повесит на каждый элемент обработчик подскажите пожалуйста как мне повесить обработчик на вновьдобавленные элементы, не обновляя страничку
0 votes13 answers