Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 31.07.2012, 19:37
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Антон Крамолов Посмотреть сообщение
И так, все равно в уродском хроме моргания
хром хороший браузер-все новое поддерживает раньше других
mouseup mousemove я на window навешиваю

Последний раз редактировалось vadim5june, 31.07.2012 в 19:41.
Ответить с цитированием
  #12 (permalink)  
Старый 31.07.2012, 23:08
Профессор
Посмотреть профиль Найти все сообщения от Антон Крамолов
 
Регистрация: 11.04.2012
Сообщений: 255

..

Последний раз редактировалось Антон Крамолов, 08.08.2012 в 22:23.
Ответить с цитированием
  #13 (permalink)  
Старый 31.07.2012, 23:15
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

И что за поля в Хроме слева и справа?
Это наверно margin у body
body {margin:0px;padding:0px;}
Ответить с цитированием
  #14 (permalink)  
Старый 31.07.2012, 23:28
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Антон Крамолов
В этом гавне хроме курсор
Антон, это вы? Так культурно начинали и уже успели разочароваться не только в jq, но и даже в хроме, так пойдёт, скоро и антидепрессанты не помогут
PS: лучше последних версий хрома, браузеров не видел
Ответить с цитированием
  #15 (permalink)  
Старый 01.08.2012, 00:27
Профессор
Посмотреть профиль Найти все сообщения от Антон Крамолов
 
Регистрация: 11.04.2012
Сообщений: 255

http://stackoverflow.com/questions/6...ng-over-a-link

баг все-таки
Ответить с цитированием
  #16 (permalink)  
Старый 01.08.2012, 04:14
Профессор
Посмотреть профиль Найти все сообщения от Антон Крамолов
 
Регистрация: 11.04.2012
Сообщений: 255

Ввообщем я переписал мою ф-ию
..

Последний раз редактировалось Антон Крамолов, 08.08.2012 в 22:23.
Ответить с цитированием
  #17 (permalink)  
Старый 01.08.2012, 04:47
Профессор
Посмотреть профиль Найти все сообщения от Антон Крамолов
 
Регистрация: 11.04.2012
Сообщений: 255

..

Последний раз редактировалось Антон Крамолов, 08.08.2012 в 22:23.
Ответить с цитированием
  #18 (permalink)  
Старый 01.08.2012, 07:01
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

в createWindowLayer(title, content) я бы лобавил размеры и id
createWindowLayer(title, content,id,t,l,w,h){
....
a.id=id;
a.style.top=t+'px';
.....
Ответить с цитированием
  #19 (permalink)  
Старый 08.08.2012, 15:37
Профессор
Посмотреть профиль Найти все сообщения от Антон Крамолов
 
Регистрация: 11.04.2012
Сообщений: 255

http://gyazo.com/6f14b84000ff50e5f6e9b2c323bae217

var UI = {
    maxZindex: 10000,
    
    Window: function(title, data, options) {
        var conf = {close: true, width: 'auto', height: 'auto', visible: true},
            container = document.createElement('div'),
            header = document.createElement('table'),
            tr = document.createElement('tr'),
            heading = document.createElement('td'),
            buttons = document.createElement('td'),
            content = document.createElement('div');
            
        addEvent(header, 'mousedown', function() {
            container.style.zIndex = this.maxZindex++;
        });
       
        this.show = function() {
            container.style.display = 'block';
            return false;
        }
        
        this.hide = function() {
            container.style.display = 'none';
            return false;
        }       
        
        conf = extend(conf, options || {});
        
        if (!conf.visible) {
            this.hide();
        }
        
        container.className = 'ui-window-container';                  
        header.className = 'ui-window-header';
        heading.className = 'ui-window-heading';
        buttons.className = 'ui-window-buttons';
        heading.appendChild(document.createTextNode(title)); 
        tr.appendChild(heading);
        
        if (conf.close) {
            var img = new Image();
            img.src = '../img/close.png';         
            img.onclick = this.hide;
            buttons.appendChild(img);           
        }
        
        tr.appendChild(buttons);
        header.appendChild(tr);       
        container.appendChild(header);       
        content.style.width = options.width;
        content.style.height = options.height;
        content.className = 'ui-window-content';      
        content.innerHTML = data;     
        container.appendChild(content);
        document.body.appendChild(container);
        makeMovable(container, header); 
    }
};


<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="css/reset.css">
        <link rel="stylesheet" type="text/css" href="css/page.css">
        <link rel="stylesheet" type="text/css" href="css/ui.css">
        <script type="text/javascript" src="../js/base.js"></script>
        <script type="text/javascript" src="../js/ui.js"></script>
        <script type="text/javascript">
            
            window.onload = function() {
                var w = new UI.Window('Заголовок окна', '<p>Содержимое окна.</p>', {width: '10em', visible: false});            
                ge('clickme').onclick = w.show;
            }
            
        </script>
    </head>
    <body>
        <div id="page">
            <h1>Перетаскивание элементов</h1>           
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
            <a id="clickme">Показать окно</a>
        </div>
    </body>
</html>
Ответить с цитированием
  #20 (permalink)  
Старый 08.08.2012, 21:30
Профессор
Посмотреть профиль Найти все сообщения от Антон Крамолов
 
Регистрация: 11.04.2012
Сообщений: 255

function makeMovable(a, b) {
    var position = window.getComputedStyle(a).getPropertyValue('position'), 
        prefix, offsetX, offsetY, movable, onSelectStart, dx, dy;   

    if (position == 'absolute' || position == 'fixed') {
        b = b || a;
        prefix = position == 'fixed' ? 'client' : 'page';
        offsetX = prefix + 'X';
        offsetY = prefix + 'Y';
        
        addEvent(b, 'mousedown', function(evt) {
            movable = true;
            // Запрещаем Хрому менять курсор при перетаскивании
            onSelectStart = document.onselectstart;

            document.onselectstart = function() {
                return false;
            }

            dx = a.offsetLeft - evt[offsetX];
            dy = a.offsetTop - evt[offsetY];
        });

        addEvent(document, 'mouseup', function() {
            if (movable) {
                movable = false;
                document.onselectstart = onSelectStart;        
            }
        });  

        addEvent(document, 'mousemove', function(evt) {
            if (movable) {
                // убираем выделение текста
                window.getSelection().removeAllRanges();
                // рассчитываем новую позицию
                a.style.left = evt[offsetX] + dx + 'px';
                a.style.top = evt[offsetY] + dy + 'px';
            }
        });
    }
}

Последний раз редактировалось Антон Крамолов, 08.08.2012 в 21:40.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35