Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
magdak0121
-16 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 76
1

Ошибка в коде? Не подгружается фотография куда надо

03.09.2017, 22:45. Просмотров 121. Ответов 0
Метки нет (Все метки)

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
var $ = jQuery.noConflict();
var dataArray = [];  // Массив для всех изображений
var defmaxFiles = maxFiles = 4;  // Максимальное количество загружаемых изображений за одни раз
 
$(document).ready(function() {
    jQuery.event.props.push('dataTransfer');  // В dataTransfer помещаются изображения которые перетащили в область div
    var defaultUploadBtn = $('#uploadbtn');  // Кнопка выбора файлов
 
    // Метод при падении файла в зону загрузки
    $('#drop-files').on('drop', function(e) {
        var files = e.dataTransfer.files;  // Передаем в files все полученные изображения
        if (files.length <= maxFiles) {  // Проверяем на максимальное количество файлов
            loadInView(files);  // Передаем массив с файлами в функцию загрузки на предпросмотр
        }
        else {
            showtoast("error", not_load_more+' '+defmaxFiles+' '+images+'!');
            files.length = 0; return;
        }
    });
 
    $('#change-files').on('click', function () {
        defaultUploadBtn.click();
    });
 
    // При нажатии на кнопку выбора файлов
    defaultUploadBtn.on('change', function() {
    var files = $(this)[0].files;  // Заполняем массив выбранными изображениями
        if (files.length <= maxFiles) {  // Проверяем на максимальное количество файлов
            loadInView(files);  // Передаем массив с файлами в функцию загрузки на предпросмотр
      $('#frm').each(function(){  // Очищаем инпут файл путем сброса формы
          this.reset();
            });
        }
        else {
            showtoast("error", not_load_more+' '+defmaxFiles+' '+images+'!');
            files.length = 0;
        }
    });
 
    // Функция загрузки изображений на предросмотр
    function loadInView(files) {
        $('#uploaded-holder').show();  // Показываем обасть предпросмотра
        $.each(files, function(index, file) {  // Для каждого файла
            if (!files[index].type.match('image.*')) {
                $('#drop-files p').html(loaded_only_images);
                return false;
            }
            if((dataArray.length+files.length) <= maxFiles) {  // Проверяем количество загружаемых элементов
                $('#upload-button').css({'display':'block'});  // показываем область с кнопками
            }
            else {
                showtoast("error", not_load_more+' '+defmaxFiles+' '+images+'!');
                return;
            }
 
            var fileReader = new FileReader();  // Создаем новый экземпляра FileReader
                fileReader.onload = (function(file) {  // Инициируем функцию FileReader
                    return function(e) {
                        dataArray.push({name:file.name, value:this.result});  // Помещаем URI изображения в массив
                        addImage((dataArray.length-1));
                    };
                })(files[index]);
            fileReader.readAsDataURL(file);  // Производим чтение картинки по URI
        });
        return false;
    }
 
    // Процедура добавления эскизов на страницу
    function addImage(ind) {
        if (ind < 0 ) {  // Если индекс отрицательный значит выводим весь массив изображений
          start = 0;
            end = dataArray.length;
        }
        else {  // иначе только определенное изображение
          start = ind;
            end = ind+1;
        }
        if(dataArray.length == 0) {  // Оповещения о загруженных файлах
            $('#upload-button').hide();  // Если пустой массив скрываем кнопки и всю область
            $('#uploaded-holder').hide();
        }
        else if (dataArray.length == 1)
            $('#upload-button span').html(select_1_file);
        else
            $('#upload-button span').html(chosen+' '+dataArray.length+' '+files);
 
        for (i = start; i < end; i++) {  // Цикл для каждого элемента массива
            if ($('#dropped-files > .image').length <= maxFiles) {  // размещаем загруженные изображения
                $('#dropped-files').append('<div id="img-'+i+'" class="image" style="background: url('+dataArray[i].value+'); background-size: cover;"> <a href="#" id="drop-'+i+'" class="drop-button">'+del+'</a></div>');
            }
        }
        return false;
    }
 
    // Функция удаления всех изображений
/*
    function restartFiles() {
        // Установим бар загрузки в значение по умолчанию
        $('#loading-bar .loading-color').css({'width' : '0%'});
        $('#loading').css({'display' : 'none'});
        $('#loading-content').html(' ');
 
        // Удаляем все изображения на странице и скрываем кнопки
        $('#upload-button').hide();
        $('#dropped-files > .image').remove();
        $('#uploaded-holder').hide();
 
        // Очищаем массив
        dataArray.length = 0;
        return false;
    }
*/
 
    // Удаление только выбранного изображения
    $("#dropped-files").on("click","a[id^='drop']", function(e) {
        e.preventDefault();
        var elid = $(this).attr('id');  // получаем название id
        var temp = new Array();  // создаем массив для разделенных строк
        temp = elid.split('-');  // делим строку id на 2 части
        dataArray.splice(temp[1],1);  // получаем значение после тире тоесть индекс изображения в массиве
        $('#dropped-files > .image').remove();  // Удаляем старые эскизы
        addImage(-1);  // Обновляем эскизи в соответсвии с обновленным массивом
        return false;
    });
 
    //Стили для области перетаскивания
    $('#drop-files').on('dragenter', function() {
        $(this).css({'border' : '4px dashed #bb2b2b'});
        return false;
    });
 
    $('#drop-files').on('drop', function() {
        $(this).css({'border' : '4px dashed rgba(0,0,0,0.2)'});
        return false;
    });
});
 
// Загрузка изображений на сервер
var upload_requests = 0;  // Количество активных ajax-запросов
function uploadImages() {
    if (dataArray.length==0)
      return;
    $("#loading").show();  //Прогресс бар
    var totalPercent = 100/dataArray.length;
    var x = 0;
    $.each(dataArray, function(index, file) {
        upload_requests++;
        dataArray[index]['act'] = 'upload';
        $.post(ADMIN_PATH+'/lib/uploader/upload.php', dataArray[index], function(data) {
            var fileName = dataArray[index].name;
            ++x;
            $('#loading-bar .loading-color').css({'width' : totalPercent*(x)+'%'});  // Изменение бара загрузки
            if(totalPercent*(x) == 100) {
                $('#loading-content').html(loading_completed);
                //setTimeout(restartFiles, 1000);  // Вызываем функцию удаления всех изображений после задержки 1 секунда
            }
            else if(totalPercent*(x) < 100) {
                $('#loading-content').html(loading+' '+fileName);  // Какой файл загружается
            }
            /*
            var dataSplit = data.split(':');  // Формируем в виде списка все загруженные изображения
            if(dataSplit[1] == 'загружен успешно') {
                $('#uploaded-files').append('<li><a href="/upload/lots/'+dataSplit[0]+'"><img src="/upload/lots/'+dataSplit[0]+'"/></a><a href="javascript:void(0)" onclick="deleteImage(\''+dataSplit[0]+'\');"><img id="delete-button" src="/inc/images/icons/gtk-close.png"/></a></li><input type="hidden" name="img_'+index+'" value="'+dataSplit[0]+'">');
            } else {
                $('#uploaded-files').append('<li><a href="/upload/lots/'+data+'. Имя файла: '+dataArray[index].name+'</li>');
            }
            */
            upload_requests--;
        });
    });
    //$('#uploaded-files').show();  //Список загруженных файлов
};
 
// Удалить изображение с сервера
/*
function deleteImage(src){
    var src = src;
    $.post(ADMIN_PATH+'/lib/uploader/upload.php', {'act':'delete', 'src':src}, function(data) {
        console.log(data)
        if(data == 1){
            $('a[href=\'/upload/lots/'+src+'\']').parent().remove();
        }
    });
}
*/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2017, 22:45
Ответы с готовыми решениями:

Header - неизвестно от куда подгружается
Здравствуйте! Передо мной поставлена задача, сделать адаптивную версию на...

Ошибка в коде | Надо поправить
Доброго времени суток! Подскажите. У пользователей есть стена на которую они...

Кнопка бегает по окну и надо на нее нажать, ошибка в коде
Начал изучать программирование с VB 6.0 Столкнулся с задачкой (мини игра)...

Что и куда надо вставить?
Здравствуйте! Прошу объяснить. Что и куда надо вставить? В какую ячейку? ...

ИИ нехочет ходить куда надо
Доброго времени суток. Возникла проблема с ИИ, который никак не хочет корректно...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2017, 22:45

Ошибка в коде взаимодействия клиента и сервера на основе протокола TCP/IP (ошибка в коде)
Задание: Осуществить взаимодействие клиента и сервера на основе протокола...

Position: fixed залазит куда не надо
Подскажите, пожалуйста, зуммирую окно браузера и фиксированный блок налазит...

Запись идет не туда куда надо
Хочу записать результат вычеслений a2;b2;c2;d2; в поля в вода с переменными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru