powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / рефакторинг
25 сообщений из 107, страница 4 из 5
рефакторинг
    #39336892
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liberum,
http://jsfiddle.net/kJFjU/ пример реализации всплывающей подсказки
...
Рейтинг: 0 / 0
рефакторинг
    #39336897
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liberum,
а как думаешь обеспечить переход по неделям?
перегрузкой всей страницы?
...
Рейтинг: 0 / 0
рефакторинг
    #39336917
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяliberum,
http://jsfiddle.net/kJFjU/ пример реализации всплывающей подсказки
не понял юмора. Это же уже есть в TML без всякого кодирование.
...
Рейтинг: 0 / 0
рефакторинг
    #39336918
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HTML имеется ввиду
...
Рейтинг: 0 / 0
рефакторинг
    #39336920
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HTML имеется ввиду
ты не очень хорошо знаешь HTML, поэтому считаешь, что такое есть...
...
Рейтинг: 0 / 0
рефакторинг
    #39336922
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
а глобальный HTML атрибут title?
...
Рейтинг: 0 / 0
рефакторинг
    #39336923
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://shpargalkablog.ru/2011/02/vsplyvayushchiye-podskazki.html


http://shpargalkablog.ru/2013/12/title.html
Код: plaintext
Атрибут title создаёт всплывающую подсказку при наведении курсора мышки на элемент.  Внешний вид подсказки изменить нельзя .
...
Рейтинг: 0 / 0
рефакторинг
    #39336925
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Код: plaintext
 Внешний вид подсказки изменить нельзя .

скажи зачем менять стиль и я тебе расскажу про варианты.
Пока ты сказал выше что всплывающее окно нельзя)).
Говори точнее.
...
Рейтинг: 0 / 0
рефакторинг
    #39336926
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, а ещё выше ты говорил:
вадя
Код: plaintext
title для того, что бы видеть полное название когда наводишь мышку
странно в доках не нашёл такого :(
поэтому и делаешь велосипеды.
ТС получается скоро более тебя уже знать будет.
...
Рейтинг: 0 / 0
рефакторинг
    #39336932
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторскажи зачем менять стиль и я тебе расскажу про варианты.
Пока ты сказал выше что всплывающее окно нельзя)).
Говори точнее.
Атрибут title создаёт всплывающую подсказку при наведении курсора мышки на элемент. Внешний вид подсказки изменить нельзя.
авторпоэтому и делаешь велосипеды.
ТС получается скоро более тебя уже знать будет.

я знаю, что ничего не знаю, но я стремлюсь узнать всЁ...

пока мне не требовались такие подсказки, поэтому и не обращал внимание, тут потребовалось - нашёл, несколько вариантов :)
...
Рейтинг: 0 / 0
рефакторинг
    #39336933
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТС получается скоро более тебя уже знать будет.
я не против буду у него тогда поучиться
...
Рейтинг: 0 / 0
рефакторинг
    #39336940
liberum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяliberum,
а как думаешь обеспечить переход по неделям?
перегрузкой всей страницы?
Наверное, думал стрелочки вправо - влево, и между ними select с выбором от 1 до 7 дней, для указания шага. Можно сделать через json, но тогда надо переделать что бы DOM строился средствами js.


Я делал подобное, нижe, но этот код я не рефакторил еще..

пример
Код: html
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.
<%@ include file = "check_user.jsp"%>
<%@ include file = "header.jsp"%>
<div class="container-fluid">
    <a href="#" type="button" class="btn btn-default" onclick="newWriter()"> New/Edit Writer </a><br><br>
    <div id="newWriterDiv" class="container-fluid" style="display: none;">
        <div class="container-fluid">
        <div class="col-xs-4">
            <label id="wrtId" style="display: none;"></label>
            <label for="wrt">Name:</label>
            <input type="text" class="form-control" id="wrt"><br>
            <label for="wrtlink">Link:</label>
            <input type="text" class="form-control" id="wrtlink"><br>
            <label for="comment">Comment:</label>
            <textarea class="form-control" rows="3" id="comment"></textarea><br>
            <a href="#" type="button" class="btn btn-default" onclick="addEdit('edit')"> Edit </a>
            <a href="#" type="button" class="btn btn-default" onclick="addEdit('add')"> Add new </a>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <label class="checkbox-inline"><input type="checkbox" id="wrtCheckbox" value="">Deactivate writer</label>
            <br><br>
        </div>
        <div class="col-xs-4">
            <label for="editList">Edit:</label>
            <select class="form-control" size="13" id="editList">
            </select>
        </div>
    </div>
    </div><br>
    <div id="stat" class="container-fluid"></div>
    <div class="container-fluid">
        <div class="container-fluid">
            <div class="container-fluid">
                <table>
                    <thead>
                    <th>Active</th>
                    <th></th>
                    <th>Deactive</th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr>
                        <td>
                            <select class="form-control" size="10" id="list1">
                            </select>
                        </td>
                        <td>
                            <center>
                                <button id="activate" onclick="activ()"> &#8656; activate </button> <br><br>
                                &nbsp;<button id="deactivate" onclick="deactiv()"> deactivate &#8658;</button>&nbsp;
                            </center>
                        </td>
                        <td>
                            <select class="form-control" size="10" id="list2">
                            </select>
                        </td>
                    </tr>
                    </tbody>
                </table><br><br>
                <h4>details:</h4>
            </div>
            <h4><div class="container-fluid" id="details"></div></h4>
        </div>
    </div>

</div>
    <script>
        var dataGson = "";
        window.onload= function(){
            jsonData = getData("read", "", "", "", "", "");
            jsonToTable();
        }
        function jsonToTable()
        {
            dataGson = JSON.parse(jsonData);
            for(var i=0; i < dataGson.length; i++) {
                addList(dataGson[i]["id"], dataGson[i]["name"], "editList");
                if(dataGson[i]["status"])
                    addList(dataGson[i]["id"], dataGson[i]["name"], "list1");
                if(!dataGson[i]["status"])
                    addList(dataGson[i]["id"], dataGson[i]["name"], "list2");
            }
        }
        function addList( lValue, lText, lList )
        {
            var selectL1 =  document.getElementById(lList);
            var myDocument = document;
            var l1Option1 = document.createElement("option");
            selectL1.appendChild(l1Option1);
            l1Option1.setAttribute("value", lValue);
            if(lList == "editList") {
                l1Option1.setAttribute("onClick", "editLst(this)");
            } else {
                l1Option1.setAttribute("onClick", "details(this)");
            }
            l1Option1.innerHTML = lText;
        }
        function details(val){

            var details = document.getElementById("details");
            details.clear;
            for(var i=0; i < dataGson.length; i++) {
                if(val.value == dataGson[i]["id"]){
                    details.innerHTML ="<a href='" + dataGson[i]["link"] + "' target='_blank'> " + dataGson[i]["name"] +" </a>" + "<br><br>" + dataGson[i]["comment"];
                }
            }
        }
        function editLst(val){
            for(var i=0; i < dataGson.length; i++) {
                if(val.value == dataGson[i]["id"]) {
                    document.getElementById("wrt").setAttribute("value", dataGson[i]["name"]);
                    document.getElementById("wrtlink").setAttribute("value", dataGson[i]["link"]);
                    document.getElementById("wrtCheckbox").checked = !(dataGson[i]["status"]);
                    document.getElementById("comment").innerHTML = dataGson[i]["comment"];
                    document.getElementById("wrtId").innerHTML = dataGson[i]["id"];
                }
            }
        }
        function activ(){
            var l2Id = document.getElementById("list2").options[document.getElementById("list2").selectedIndex].value;
            var newOpt = document.getElementById("list2").options[document.getElementById("list2").selectedIndex];
            document.getElementById("list1").add(newOpt)
            dataGson = JSON.parse(getData("act", l2Id, "", "", "", ""));
            var stat = document.getElementById("stat")
            stat.innerHTML = "<font color=red>" + newOpt.text + " activate </font> <br><br>";
        }
        function deactiv(){
            var l1Id = document.getElementById("list1").options[document.getElementById("list1").selectedIndex].value;
            var newOpt = document.getElementById("list1").options[document.getElementById("list1").selectedIndex];
            document.getElementById("list2").add(newOpt)
            dataGson = JSON.parse(getData("deact", l1Id, "", "", "", ""));
            var stat = document.getElementById("stat")
            stat.innerHTML = "<font color=red>" + newOpt.text + " deactivate </font> <br><br>";
        }
        function addEdit(op){
            dataGson = JSON.parse(getData(
                    op,
                    document.getElementById("wrtId").textContent,
                    document.getElementById("wrt").value,
                    document.getElementById("wrtlink").value,
                    document.getElementById("comment").textContent,
                    !(document.getElementById("wrtCheckbox").checked)
            ));
            var stat = document.getElementById("stat")
            stat.innerHTML = "<font color=red>" + document.getElementById("wrt").value + " send to server </font> <br><br>";
        }
        function getData( wrOp, wrId, wrName, wrLink, wrComment, wrStatus ){
            var body = "op="+wrOp+"&id="+wrId+"&name="+wrName+"&link="+wrLink+"&comment="+wrComment+"&status="+wrStatus;
            var xhr = new XMLHttpRequest();
            var res = "";
            xhr.onreadystatechange = function()
            {
                if (xhr.readyState == 4 && xhr.status == 200)
                {
                    res = xhr.responseText;
                }
            }
            xhr.open("POST", "writers.do", false);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
            xhr.send(body);
            return res;
        }

        function newWriter(){
            var current = document.getElementById("newWriterDiv").getAttribute("style");
            if(current == 'display: none;') {
                document.getElementById("newWriterDiv").style.display = 'block';
            }else {
                document.getElementById("newWriterDiv").style.display = 'none';
            }

        }
    </script>
<%@ include file = "footer.jsp"%>


скрин 1
скрин 2
...
Рейтинг: 0 / 0
рефакторинг
    #39336941
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадятут потребовалось - нашёл, несколько вариантов :)
1. Внешний вид подсказок менять в ТЗ выше не требовалось.
Тогда в HTML есть атрибут штатный вместо твоего кода 30 строк.
2. Если всё таки нужно менять подсказки, то есть библиотека, которая в 2 строки меняет подсказки вместо твоих 30 строк.
Вроде все варианты разобрали.
Удачи!
...
Рейтинг: 0 / 0
рефакторинг
    #39336953
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадятут потребовалось - нашёл, несколько вариантов :)
1. Внешний вид подсказок менять в ТЗ выше не требовалось.
Тогда в HTML есть атрибут штатный вместо твоего кода 30 строк.
2. Если всё таки нужно менять подсказки, то есть библиотека, которая в 2 строки меняет подсказки вместо твоих 30 строк.
Вроде все варианты разобрали.
Удачи!
я показал варианты, и не старался показать все, если ТС учится - то лучше смотреть как устроены библиотеки, а потом если захочется использовать их или сделать своё.
в библиотеке тоже js и для универсальности может быть больше 30 строк, так что не факт что использование библиотеки ускорит, но однозначно замедлит загрузку и старт страницы, на время парсинга библиотеки.
не требовалось - не факт, возможно просто не знал, или не задумывался , а узнает - возможно сделает...

liberum, по показанному - о рефоаторизации можно судить только оценив всё в действии. так вроде всё не плохо.
могу подсказать некоторые варианты по вопросу обновления данных на странице, мыло в профиле.
...
Рейтинг: 0 / 0
рефакторинг
    #39336977
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
тяжёлый случай. Тебе сказали - есть тег штатный в HTML.
Ты так и дату будешь из 12 строк делать вместо того чтобы использовать штатное.
Ещё говорит, что кто то HTML не знает.
Вообще, мастадонт какой то лет в 50.
...
Рейтинг: 0 / 0
рефакторинг
    #39336980
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
а ты упоротый , какой-то.
я не отрицаю, что есть штатный,
а говорю что Внешний вид подсказки изменить нельзя.
свой "аналог" штатному придётся писать ( или использовать библиотечный)
...
Рейтинг: 0 / 0
рефакторинг
    #39336987
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТы так и дату будешь из 12 строк делать вместо того чтобы использовать штатное.
а что ты знаешь про штатную дату?


http://caniuse.com/#search=Date and time input types
и пока я буду использовать jquery
...
Рейтинг: 0 / 0
рефакторинг
    #39337014
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяили использовать библиотечный
Имя сестра! Имя!
Ты в первый раз за 5 лет согласен использовать библиотеку).
...
Рейтинг: 0 / 0
рефакторинг
    #39337015
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяи пока я буду использовать jquery
мы в ветке Java и спрашивал я про java
...
Рейтинг: 0 / 0
рефакторинг
    #39337026
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадяи пока я буду использовать jquery
мы в ветке Java и спрашивал я про java
если ты внимательно читл - я ещё на первой странице посоветовал использовать фичи даты от java8
(если ты об этой дате)
...
Рейтинг: 0 / 0
рефакторинг
    #39337035
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

вадяи пока я буду использовать jquery
...
Рейтинг: 0 / 0
рефакторинг
    #39339684
liberum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

Спасибо за советы.. Я не совсем понимаю тролинг в твою сторону, но может у вас просто такие отношения.. Я ценю и пытаюсь осмыслить и реализовать то, о чем ты пишешь.

В данный момент у меня есть еще вопрос касательно архитектуры БД, а конкретно пользователей.
Как более правильно, сделать большую таблицу, с email, login, password, rule, birthday и т.д. или более правильно делать таблицу пользователей, таблицу ролей, и т.д., а потом делать сводные таблицы?

На сколько оправдано дробить сущности? У меня к примеру есть по книгам:
1.1 Таблица авторов
1.2 Таблица писателей
1.3 Таблица книг
1.4 Сводная таблица

Магазин
2.1 Таблица аккаунтов
2.2 Таблица книг на продаже
2.3 Сводная по аккаунтам и книгам на продаже
2.4 Таблица продаж

В итоге, когда я хочу вытащить название проданной книги, мне надо сравнивать ASIN проданной книги с таблицей книг на продаже, найдя его, вытащить из него id сводной таблицы 1.4, из него вытащить id книги, и из нее название.. Мне кажется это довольно сложный подход, можно конечно в момент импорта продаж добавлять туда id книги на продаже, но это всего лишь небольшая оптимизация, поскольку импорт делается 1 раз, а просмотр продаж часто. Но это вроде как добавляет связи, а из того, что я читал о нормализации, я сделал вывод, что чем меньше взаимосвязей, тем лучше..

Но в целом вопрос по пользователям, разделять права, роли и самих пользователей, или нормально когда это прописано в одной большой таблице пользователей?
...
Рейтинг: 0 / 0
рефакторинг
    #39339698
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liberum,

Продолжайте читать про нормализацию.
...
Рейтинг: 0 / 0
рефакторинг
    #39339749
liberum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Спасибо, и не думал прекращать, но все же был бы благодарен за более развернутый ответ по пользователям.
...
Рейтинг: 0 / 0
рефакторинг
    #39339759
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liberumМне кажется это довольно сложный подход
дак ты покажи ЭТО. Покажи свою работу!
...
Рейтинг: 0 / 0
25 сообщений из 107, страница 4 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / рефакторинг
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]