powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Косячный код
7 сообщений из 7, страница 1 из 1
Косячный код
    #38375933
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть мой ява скрипт код, но мне кажется он не оптимальный, хотел бы услышать критику и предложения по исправлению. Спасибо

Код: 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.
(function($) {
    $.fn.w__modal = function(obj) {
        var modal = {
            openModal: function() {
                var popup = $('.message_popup_overlay');
                $('.message_popup', popup).addClass('in');
                popup.fadeIn();
                setTimeout(function() {
                    $('.message_popup').removeClass('in');
                }, 1500);
            },
            setContent: function(content) {
                $('.message_body', this).html(content);
            },
            setHead: function(content) {
                $('.message_title', this).html(content);
            },
            // Close modal
            closeModal: function() {
                var popup = $('.message_popup_overlay');
                $('.message_popup', popup).addClass('out');
                popup.fadeOut(1000);
                setTimeout(function() {
                    $('.message_popup').removeClass('out');
                }, 1500);

            } /*, 
            stretch: function() {
            } */
        };
        obj = this;

        function constructor() {
            var mod = $('.message_popup'), append = false;
            if (!mod.length) {
                append = true;
                mod = $('<div class="message_popup_overlay">'
                        + '<div class="message_popup">'
                        + '<div class="message_header">'
                        + '<span class="message_title">' + '</span>'
                        + '<a class="close_butt" href="#">x</a>'
                        + '</div>'
                        + '<div class="message_body">'
                        + '</div>'
                        + '</div>'
                        + '</div>'
                        );
            }
            modal = $.extend(mod, modal);

            if (append) {
                $('body').append(modal);
                append = false;
            }
            return modal;
        }

        constructor();
        $('.close_butt').click(function(e){
            e.preventDefault();
            modal.closeModal();
        });

        $(this).live('click', function(ev) {
            ev.preventDefault(); 
            var url = $(this).attr('href');

            try {
                var uObj = $(url);
            } catch (err) {
               
            }
 
            if (uObj && uObj.length) {
                modal.setContent($('.content', uObj).html());
                modal.setHead($('.message_title', uObj).html());
                modal.openModal();
                $(url).remove();
                return;
            }

            $.getJSON(url, function(data) {

                var dblParse = $.parseJSON(data);
                if (dblParse) {
                    data = dblParse;
                }

                modal.setContent(data.content);
                modal.setHead(data.title);
                modal.openModal();
            });
            return;
        });
    } ;
})(jQuery);

jQuery(document).ready(function($) {
    $('.wii-modal').w__modal();
});
...
Рейтинг: 0 / 0
Косячный код
    #38375952
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я constructor переписал с использованием https://github.com/BorisMoore/jquery-tmpl
...
Рейтинг: 0 / 0
Косячный код
    #38375953
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Появляется эта ошибка, не могу понять из-за чего:

event.layerX and event.layerY are broken and deprecated in WebKit. They will be removed from the engine in the near future.
...
Рейтинг: 0 / 0
Косячный код
    #38375955
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*переписал бы
...
Рейтинг: 0 / 0
Косячный код
    #38375992
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганелья constructor переписал бы с использованием https://github.com/BorisMoore/jquery-tmpl зачем? там по сути одна строка. лучше заюзать многострочный литерал:
Код: javascript
1.
2.
3.
4.
mod = $('<div class="message_popup_overlay"> \
                        <div class="message_popup"> \

...
...
Рейтинг: 0 / 0
Косячный код
    #38375995
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечзачем?да привычка у меня уже функционал и представление разделять
...
Рейтинг: 0 / 0
Косячный код
    #38376156
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему

Код: javascript
1.
2.
var popup = $('.message_popup_overlay');
$('.message_popup', popup).addClass('in');



А не

Код: javascript
1.
var popup = $('.message_popup_overlay, .message_popup').addClass('in')



?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Косячный код
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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