Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.05.2019
Сообщений: 1
1

Вывод имен выделенных курсором картинок на JavaScript

25.05.2019, 10:49. Показов 663. Ответов 3

Author24 — интернет-сервис помощи студентам
Как при помощи JavaScript вывести имена картинок в список при выделении их в "прямоугольник" курсором? Все это в HTML.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2019, 10:49
Ответы с готовыми решениями:

Вывод имен полей выделенных таблиц CheckListBox1 в CheckListBox2
Доброго времени суток, помогите пожалуйста решить такой вопрос: у меня есть 2 CheckListBox, в...

Вывод картинок Javascript
Всем привет! Помогите новичку в Js разобраться.:-| При вводе цифры 4 в input - должно...

Использование брендовых имен и картинок в приложении
Собственно, вопрос не совсем по программированию, но по андроиду. Не знаю, где тут еще спросить...

Вывод в печатную форму несколько выделенных документов
Доброе время суток Уважаемые профи 1С! Ребят помогите новичку разобраться! Задача стоит такая:...

3
156 / 119 / 59
Регистрация: 27.04.2013
Сообщений: 351
25.05.2019, 21:50 2
В "прямоугольник" не подскажу, но может Вам будет интересно выделение нажатием по картинке?
0
dev - investigator
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
15.03.2020, 00:19 3
как вариант - https://codepen.io/qwerty_wasd/pen/oRJEmm
(выделение, консоль)

HTML5
1
<img class="imgs" src="https://dummyimage.com/100x100/b0b0b0/000000.png&amp;text=%D0%BE%D0%B4%D0%B8%D0%BD" alt=""/><img class="imgs" src="https://dummyimage.com/100x100/b0b0b0/000000.png&amp;text=%D0%B4%D0%B2%D0%B0" alt=""/><img class="imgs" src="https://dummyimage.com/100x100/b0b0b0/000000.png&amp;text=%D1%82%D1%80%D0%B8" alt=""/>
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
"use strict";
var Selectron = /** @class */ function() {
    function Selectron(options) {
        if(options === void 0) {
            options = {
                field: window.document
            };
        }
        this.field = options.field;
        this.url = {};
    }
    Selectron.prototype.init = function() {
        var _this = this;
        var opLoad = {
            events: {
                //load
                load: function() {
                    var opSelect = {
                        startX: 0,
                        startY: 0,
                        flag: false,
                        events: {
                            // mousedown
                            mousedown: function(evt) {
                                var _a;
                                if(!opSelect.flag) {
                                    opSelect.flag = true;
                                    (_this.field.body || _this.field).insertAdjacentHTML("beforeend", "<div id=\"selectron-frame\" style=\"left:" + evt.clientX + "px;top:" + evt.clientY + "px\"></div>");
                                    _a = [
                                            evt.clientX,
                                            evt.clientY
                                        ],
                                        opSelect.startX = _a[0], opSelect.startY = _a[1];
                                }
                            },
                            // end mousedown
                            // mousemove
                            mousemove: function(evt) {
                                var _a;
                                if(opSelect.flag) {
                                    _a = [
                                            Math.abs(evt.clientY - opSelect.startY) + "px",
                                            Math.abs(evt.clientX - opSelect.startX) + "px", (evt.clientY >= opSelect.startY ? opSelect.startY : opSelect.startY - Math.abs(evt.clientY - opSelect.startY)) + "px", (evt.clientX >= opSelect.startX ? opSelect.startX : opSelect.startX - Math.abs(evt.clientX - opSelect.startX)) + "px"
                                        ],
                                        _this.field.getElementById("selectron-frame").style.height = _a[0], _this.field.getElementById("selectron-frame").style.width = _a[1], _this.field.getElementById("selectron-frame").style.top = _a[2], _this.field.getElementById("selectron-frame").style.left = _a[3];
                                }
                            },
                            // end mousemove
                            // mouseup
                            mouseup: function(evt) {
                                if(opSelect.flag) {
                                    opSelect.flag = false;
                                    var tmp = Array.from(_this.field.getElementsByTagName("IMG"), function(el, ind) {
                                        return el.classList[_this.field.elementsFromPoint(el.getBoundingClientRect().left, el.getBoundingClientRect().top).includes(_this.field.getElementById("selectron-frame")) || _this.field.elementsFromPoint(el.getBoundingClientRect().right, el.getBoundingClientRect().bottom).includes(_this.field.getElementById("selectron-frame")) || _this.field.elementsFromPoint(el.getBoundingClientRect().x + el.getBoundingClientRect().width, el.getBoundingClientRect().top).includes(_this.field.getElementById("selectron-frame")) || _this.field.elementsFromPoint(el.getBoundingClientRect().left, el.getBoundingClientRect().y + el.getBoundingClientRect().height).includes(_this.field.getElementById("selectron-frame")) ? (_this.url[ind] = el.src, "add") : (delete _this.url[ind], "remove")]("selected");
                                    });
                                    if(evt.target.classList.contains("imgs")) {
                                        evt.target.classList.add("selected");
                                        _this.url[Array.from(field.getElementsByTagName("IMG")).indexOf(evt.target)] = evt.target.src;
                                    }
                                    tmp = undefined;
                                    _this.field.getElementById("selectron-frame").remove();
                                    ///////////////////////////////////////////////////////////
                                    console.log(_this.url); // or return this.url like a variable
                                    ///////////////////////////////////////////////////////////
                                }
                            }
                        }
                    };;
                    ["mousedown", "mousemove", "mouseup"].
                    forEach(function(ev) {
                        return _this.field.addEventListener(ev, opSelect.events[ev]);
                    });
                    window.addEventListener("beforeunload", function() {;
                        ["mousedown", "mousemove", "mouseup"].
                        forEach(function(ev) {
                            return _this.field.removeEventListener(ev, opSelect.events[ev]);
                        });
                        opSelect = undefined;
                    });
                    // end load
                }
            }
        };
        window.addEventListener("load", opLoad.events.load);
        window.addEventListener("beforeunload", function() {
            window.removeEventListener("load", opLoad.events.load);
            opLoad = undefined;
        });
    };
    return Selectron;
}();;
new Selectron().init();
0
dev - investigator
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
15.03.2020, 22:56 4
В предыдущем посте допустил досадную ошибку, исправленный вариант (в песочнице тож поправил) -
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
var Selectron = /** @class */ function() {
    function Selectron(options) {
        if(options === void 0) {
            options = {
                field: window.document
            };
        }
        this.field = options.field;
        this.url = {};
    }
    Selectron.prototype.init = function() {
        var _this = this;
        var opLoad = {
            events: {
                //load
                load: function() {
                    var opSelect = {
                        startX: 0,
                        startY: 0,
                        flag: false,
                        events: {
                            // mousedown
                            mousedown: function(evt) {
                                var _a;
                                if(!opSelect.flag) {
                                    opSelect.flag = true;
                                    (_this.field.body || _this.field).insertAdjacentHTML("beforeend", "<div id=\"selectron-frame\" style=\"left:" + evt.clientX + "px;top:" + evt.clientY + "px\"></div>");
                                    _a = [
                                            evt.clientX,
                                            evt.clientY
                                        ],
                                        opSelect.startX = _a[0], opSelect.startY = _a[1];
                                }
                            },
                            // end mousedown
                            // mousemove
                            mousemove: function(evt) {
                                var _a;
                                if(opSelect.flag) {
                                    _a = [
                                            Math.abs(evt.clientY - opSelect.startY) + "px",
                                            Math.abs(evt.clientX - opSelect.startX) + "px", (evt.clientY >= opSelect.startY ? opSelect.startY : opSelect.startY - Math.abs(evt.clientY - opSelect.startY)) + "px", (evt.clientX >= opSelect.startX ? opSelect.startX : opSelect.startX - Math.abs(evt.clientX - opSelect.startX)) + "px"
                                        ],
                                        _this.field.getElementById("selectron-frame").style.height = _a[0], _this.field.getElementById("selectron-frame").style.width = _a[1], _this.field.getElementById("selectron-frame").style.top = _a[2], _this.field.getElementById("selectron-frame").style.left = _a[3];
                                }
                            },
                            // end mousemove
                            // mouseup
                            mouseup: function(evt) {
                                if(opSelect.flag) {
                                    opSelect.flag = false;
                                    var tmp = Array.from(_this.field.getElementsByTagName("IMG"), function(el, ind) {
                                        return el.classList[_this.field.elementsFromPoint(el.getBoundingClientRect().left, el.getBoundingClientRect().top).includes(_this.field.getElementById("selectron-frame")) || _this.field.elementsFromPoint(el.getBoundingClientRect().right, el.getBoundingClientRect().bottom).includes(_this.field.getElementById("selectron-frame")) || _this.field.elementsFromPoint(el.getBoundingClientRect().x + el.getBoundingClientRect().width, el.getBoundingClientRect().top).includes(_this.field.getElementById("selectron-frame")) || _this.field.elementsFromPoint(el.getBoundingClientRect().left, el.getBoundingClientRect().y + el.getBoundingClientRect().height).includes(_this.field.getElementById("selectron-frame")) ? (_this.url[ind] = el.src, "add") : (delete _this.url[ind], "remove")]("selected");
                                    });
                                    if(evt.target.classList.contains("imgs")) {
                                        evt.target.classList.add("selected");
                                        _this.url[Array.from(_this.field.getElementsByTagName("IMG")).indexOf(evt.target)] = evt.target.src;
                                    }
                                    tmp = undefined;
                                    _this.field.getElementById("selectron-frame").remove();
                                    ///////////////////////////////////////////////////////////
                                    console.log(_this.url); // or return this.url like a variable
                                    ///////////////////////////////////////////////////////////
                                }
                            }
                        }
                    };;
                    ["mousedown", "mousemove", "mouseup"].
                    forEach(function(ev) {
                        return _this.field.addEventListener(ev, opSelect.events[ev]);
                    });
                    window.addEventListener("beforeunload", function() {;
                        ["mousedown", "mousemove", "mouseup"].
                        forEach(function(ev) {
                            return _this.field.removeEventListener(ev, opSelect.events[ev]);
                        });
                        opSelect = undefined;
                    });
                    // end load
                }
            }
        };
        window.addEventListener("load", opLoad.events.load);
        window.addEventListener("beforeunload", function() {
            window.removeEventListener("load", opLoad.events.load);
            opLoad = undefined;
        });
    };
    return Selectron;
}();;
new Selectron().init();
0
15.03.2020, 22:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2020, 22:56
Помогаю со студенческими работами здесь

Вывод из базы записей, выделенных жирным шрифтом
Подскажите пожалуйста, как заводить и выводить в базу данных записи, где текст может быть выделен...

Перелистывание картинок javascript
Мне нужно создать круговое перелистывание картинок.Тоесть у меня есть 7 картинок , ниже их 2 кнопки...

Смена картинок на JavaScript
В общем нужен JavaScript который будет поочерёдно показывать одну из трёх картинок,меняются...

Смена картинок в Javascript
Здравствуйте, при изучении языка Javascript столкнулся с такой проблемой: необходимо, чтобы одна...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru