2015-06-19 3 views
2

Моя проблема в том, что я загрузил до фрейма приложения в js через funtion i, созданный с именем createFrame(). Функциональность fullScreen не работает должным образом, она отлично подойдет в полноэкранном режиме, но если я перемещу рамку приложения вокруг рабочего стола, она не будет работать должным образом, даже когда я верну ее в исходное положение. Код изменяет размер фрейма приложения и временно удаляет панель задач и панель сведений о пользователе/​​времени вверху. Он также, похоже, не хочет, чтобы использование касалось окна, в которой находятся кнопки «Минимум/Выход»/«Полный экран». Он просто скрывает все и оставляет меня с пустым экраном. Код работает следующим образом: var app; создает новый фрейм приложения (кнопка exit/fullscreen/minim + контент). Ширина и высота определяются w и h в первой строке функций, которая вызывается в моем js-файле с именем front-end.js, вызывая createFrame (500 300); , Content_src должен объяснить, что он легко покидает, хотя параметр еще не используется. Полноэкранная кнопка должна работать, как указано выше, но по какой-то причине int wont работает правильно, если я перетаскиваю ее на экране. На данный момент это нормально, так как я не разработал код, чтобы переставить его на 0,0 на экране. Но если я перестановлю его на 0,0 сам по себе на рабочем столе, он не закончится на 0,0 экрана. Я думаю, что это как-то связано со мной, нарушая позицию, то есть приложение не было в состоянии перетаскивания, пока я не переместил его. Есть идеи?Проблемы с моим кодом js/jquery для фреймов приложений

var isFullScreen; 

function createFrame(w,h,content_src) { 
    var app = $('<div class = "application-frame ui-resizable-se" style="width:'+w+'px; height:'+h+'px;">\ 
        <div class = "buttons-box">\ 
         <div class = "exit-button">\ 
         </div>\ 
         <div class = "fullscreen-button">\ 
         </div>\ 
         <div class = "minimise-button">\ 
         </div>\ 
        </div>\ 
        <div class = "content">\ 
        </div>\ 
       </div>'); 
    var apps = []; 
    $(".desktop-box").append(app); 
    apps.push(app); 
    $(app).draggable({containment:"parent"}).resizable({containment:"parent",maxHeight: 678,maxWidth: 1361}); 

    $(".exit-button").click(function() { 
     for(var i = 0; i <apps.length;i++) { 
      apps[i].pop($(app).fadeOut('very slow')); 
      for(var f = 0; f < fullscreenArray.length;f++) { 
       if(fullscreenArray[f]) { 
        $(".infoPane").show(); 
        $(".info-dropdown").show(); 
        $(".taskbar").show(); 
        fullscreenArray[f] = false; 
       } 
      } 
     } 
    }); 

    var fullscreenArray = []; 
    fullscreenArray.push(isFullScreen); 

    $(".minimisse-button").click(function() { 
     for(var i = 0; i <apps.length;i++) { 
      for(var f = 0; f < fullscreenArray.length;f++) { 
       if(fullscreenArray[f]) { 
        $(".infoPane").show(); 
        $(".info-dropdown").show(); 
        $(".taskbar").show(); 
        fullscreenArray[f] = false; 
        apps[i].pop($(app).slideToggle('very slow')); 
       } 
      } 
     } 
    }); 
    var fullScreenWidth = $(".desktop-box").width(); 
    var fullScreenHeight = $("body").height()+5; 

    $(".fullscreen-button").click(function() { 
     for(var f = 0; f < fullscreenArray.length;f++) { 
      if(!fullscreenArray[f]) { 
       $(app).css({width:fullScreenWidth}); 
       $(app).css({height:fullScreenHeight}); 
       fullscreenArray[f] = true; 
       $(".infoPane").hide(); 
       $(".info-dropdown").hide(); 
       $(".taskbar").hide(); 
      }else if(fullscreenArray[f]) { 
       $(app).css({width:w}); 
       $(app).css({height:h}); 
       fullscreenArray[f] = false; 
       $(".application-frame").draggable(); 
       $(".infoPane").show(); 
       $(".info-dropdown").show(); 
       $(".taskbar").show(); 
      } 
     } 
    }); 
} 

ответ

0

Я только что нашел решение проблемы, если кто-то пытается пытаться что-то подобное. Все add - $ (app) .offset ({top: 0, left: 0); в выражении if, которое делает isFullScreen true. и это сработает!