Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Неведомая ошибка (https://javascript.ru/forum/misc/50157-nevedomaya-oshibka.html)

TimohaP 14.09.2014 18:59

Неведомая ошибка
 
Есть следующий скрипт:
function $(el){
    return document.getElementById(el);
}
var tzdragg = function(){
    return {
        move : function(divid,xpos,ypos){
            var a = $(divid);
                $(divid).style.left = xpos + 'px';
                $(divid).style.top = ypos + 'px';
            },
            startMoving : function(evt,id){
                evt = evt || window.event;
                var posX = evt.clientX,
                posY = evt.clientY,
                a = $(id),
                divTop = a.style.top,
                divLeft = a.style.left;
                divTop = divTop.replace('px','');
                divLeft = divLeft.replace('px','');
                var diffX = posX - divLeft,
                diffY = posY - divTop;
                document.onmousemove = function(evt){
                    evt = evt || window.event;
                    var posX = evt.clientX,
                    posY = evt.clientY,
                    aX = posX - diffX,
                    aY = posY - diffY;
                    tzdragg.move(id,aX,aY);
                }
*!*
         ,
        stopMoving : function(){
*/!*
            var a = document.createElement('script');
            document.onmousemove = function(){}
        },
    }
}();

Он, кажется на мутулз. Подклюяаю нужную библиотеку, в примере все работает, но как только вставляю на страничку, в браузер не может разобраться с скриптом. Выдает "SyntaxError: missing ; before statement" на 32 строчке. Вот пример:
http://jsfiddle.net/timohaP/u5ee7h5k/

TimohaP 14.09.2014 20:05

можно уже не отвечат, я переписал этот скрипт на чистом яваскрипте, и тепер все работает нормально. вот он, если кому интересно:
function tzdraggMove(divid,xpos,ypos){
    var a = $(divid);
    $(divid).style.left = xpos + 'px';
    $(divid).style.top = ypos + 'px';
}
function tzdraggStartMove(evt,id){
    evt = evt || window.event;
    var posX = evt.clientX,
    posY = evt.clientY,
    a = $(id),
    divTop = a.style.top,
    divLeft = a.style.left;
    divTop = divTop.replace('px','');
    divLeft = divLeft.replace('px','');
    var diffX = posX - divLeft,
    diffY = posY - divTop;
    document.onmousemove = function(evt){
        evt = evt || window.event;
        var posX = evt.clientX,
        posY = evt.clientY,
        aX = posX - diffX,
        aY = posY - diffY;
        tzdraggMove(id,aX,aY);
    }
}
function tzdraggStopMove(){
    var a = document.createElement('script');
    document.onmousemove = function(){}
 }


Часовой пояс GMT +3, время: 00:43.