Webdesktop Multiscreen

Seguramente te has encontrado con la necesidad de crear un webdesktop.

Pues no es tan complejo como aparenta o como se oye, lo primero que debes hacer es conocer hacia donde va tu proyecto y para ello te presentamos el ejemplo de Nathan Smith.

EJEMPLO

LINK GITHUB

El ejemplo es sumamente sencillo se basa en tomar un par de divs ocultos con formato de ventana y mostrarlos tras doble click, mediante las librerías jQuery Desktop (JQD)

El script es sencillo se basa en incluir jquery-ui y jquery-desktop el resto es más que nada manejo de divs y posiciones absolutas.

</p>
<script type="text/JavaScript" src="<a href="view-source:http://localhost/showroom/assets/js/jquery.js">assets/js/jquery.js</a>"></script>

<script type="text/JavaScript" src="<a href="view-source:http://localhost/showroom/assets/js/easing.js">assets/js/easing.js</a>"></script>
<script type="text/JavaScript" src="<a href="view-source:http://localhost/showroom/assets/js/wslide.js">assets/js/wslide.js</a>"></script>

Lo primero en hacer es pre-configurar detectectar el tamaño de la pantalla para poder establecer el ancho de nuestro web desktop.

<pre>/**
 * Window Width & Window Height
 * @author Nestor Velazquez
 */
if (document.body && document.body.offsetWidth)
{
 winW = document.body.offsetWidth; // Window width --> Detecta el ancho de la ventana del navegador
 winH = document.body.offsetHeight; // Window height --> Detecta el alto de la ventana del navegador
}
if (document.compatMode=='CSS1Compat' && document.documentElement && document.documentElement.offsetWidth )
{
 winW = document.documentElement.offsetWidth;
 winH = document.documentElement.offsetHeight;
}

if (window.innerWidth && window.innerHeight)
{
 winW = window.innerWidth;
 winH = window.innerHeight;

 // alert(winW + ' ' + winH)
}

Una vez configurado el tamaño de la pantalla configuramos los efectos del easing y web desktop

</pre>
<pre id="line22">    /**
    * wslide configuration for the multiscreen feature
    * @author Nestor Velazquez
    */
    $(document).ready(function()
    {
         $("#escritorios").wslide({
            width: winW,
            height: winH,
            pos: 2,
            horiz: true,
            autolink: 'elMenu',
            duration: 3000
            // SIN EFECTO DE REBOTE
            // effect: 'easeOutBounce'
         });
    });</pre>

Cada uno de los elementos del escritorio es un elemento LI

<pre id="line22"><ul id="escritorios">
        <!-- Multiscreen feature by Nestor Velazquez -->
        <li style="background-color: #FFF; margin-top: 25px;">

      <!--ESCRITORIO 1--></pre>
<pre id="line83">      <div style="margin-top: 35px;">
            <a class="abs icon" style="left:20px; top:60px;" href="<a href="view-source:http://localhost/showroom/#icon_dock_chrome">#icon_dock_chrome</a>">
              <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/chrome.png">assets/images/icons/chrome.png</a>" height="8" />
              Google Chrome
            </a>
            <a class="abs icon" style="left:20px; top:140px;" href="<a href="view-source:http://localhost/showroom/#icon_dock_twitter">#icon_dock_twitter</a>">
              <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/twitter.png">assets/images/icons/twitter.png</a>" height="8" />
              Twitter.com
            </a>

       </div></pre>
<pre id="line94">        <div style="clear:both;"></div>
        </li>

<li style="background-image: url(assets/images/misc/wallpaper.jpg); margin-top: 25px;">

      <!--ESCRITORIO 2-->
      <div style="margin-top: 25px;">
            <a class="abs icon" style="top:60px;" href="<a href="view-source:http://localhost/showroom/#icon_dock_microblog">#icon_dock_microblog</a>">
              <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/icon_32_microblog.png">assets/images/icons/icon_32_microblog.png</a>" height="8" />
              Microblog
            </a></pre>
<pre id="line105">            <a class="abs icon" style="top:140px;" href="<a href="view-source:http://localhost/showroom/#icon_dock_acadetodo">#icon_dock_acadetodo</a>">
              <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/icon_32_acadetodo.png">assets/images/icons/icon_32_acadetodo.png</a>" height="8" />
              AcadeTodo.com
            </a>
      </div>
            <div style="clear:both;"></div>
        </li>

<li style="background-image: url(assets/images/misc/Huawei.jpg); margin-top: 25px;">

      <!--ESCRITORIO 3--></pre>
<pre id="line116">    <div style="margin-top: 25px;">
      <img src="<a href="view-source:http://www.comunicacionweb.com.mx/media/images/2.jpg">http://www.comunicacionweb.com.mx/media/images/2.jpg</a>" width="300px" />
    </div>
</li>

    </ul>
    <!-- VENTANAS DE CADA ICONO -->

<!--MICROBLOG WINDOW-->
<div id="window_microblog" class="abs window">
      <div class="abs window_inner">
        <div class="window_top"></pre>
<pre id="line129">          <span class="float_left">
            <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/icon_16_microblog.png">assets/images/icons/icon_16_microblog.png</a>" />
            Microblog
          </span>
          <span class="float_right">
            <a href="<a href="view-source:http://localhost/showroom/#">#</a>" class="window_min"></a>
            <a href="<a href="view-source:http://localhost/showroom/#">#</a>" class="window_resize"></a>
            <a href="<a href="view-source:http://localhost/showroom/#icon_dock_microblog">#icon_dock_microblog</a>" class="window_close"></a>
          </span></pre>
<pre id="line138">        </div>
        <div class="abs window_content">
          <div class="window_fulscreen">
              <!--<iframe src="http://www.acadetodo.com/microblog"></iframe>-->
              <iframe class="fullscreen_website" src="<a href="view-source:http://localhost/showroom/pages/landing_microblog.html">pages/landing_microblog.html</a>"></iframe>
          </div>
        </div>
        <div class="abs window_bottom"></pre>
<pre id="line146">          Demo Browser - Author AHA
        </div>
      </div>
      <span class="abs ui-resizable-handle ui-resizable-se"></span>
</div>

<!--ACADETODO WINDOW-->
<div id="window_acadetodo" class="abs window">
      <div class="abs window_inner">
        <div class="window_top">
          <span class="float_left"></pre>
<pre id="line157">            <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/icon_16_acadetodo.png">assets/images/icons/icon_16_acadetodo.png</a>" height="16" />
            Microblog
          </span>
          <span class="float_right">
            <a href="<a href="view-source:http://localhost/showroom/#">#</a>" class="window_min"></a>
            <a href="<a href="view-source:http://localhost/showroom/#">#</a>" class="window_resize"></a>
            <a href="<a href="view-source:http://localhost/showroom/#icon_dock_acadetodo">#icon_dock_acadetodo</a>" class="window_close"></a>
          </span>
        </div></pre>
<pre id="line166">        <div class="abs window_content">
          <div class="window_fulscreen">
              <iframe class="fullscreen_website" src="<a href="view-source:http://www.acadetodo.com/">http://www.acadetodo.com/</a>"></iframe>
          </div>
        </div>
        <div class="abs window_bottom">
          Demo Browser - Author AHA
        </div>
      </div></pre>
<pre id="line175">      <span class="abs ui-resizable-handle ui-resizable-se"></span>
</div>

<!-- Twitter -->
<div id="window_twitter" class="abs window">
      <div class="abs window_inner">
        <div class="window_top">
          <span class="float_left">
            <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/twitter.png">assets/images/icons/twitter.png</a>" height="22px"/>
            Twitter
          </span></pre>
<pre id="line186">          <span class="float_right">
            <a href="<a href="view-source:http://localhost/showroom/#">#</a>" class="window_min"></a>
            <a href="<a href="view-source:http://localhost/showroom/#">#</a>" class="window_resize"></a>
            <a href="<a href="view-source:http://localhost/showroom/#icon_dock_twitter">#icon_dock_twitter</a>" class="window_close"></a>
          </span>
        </div>
        <div class="abs window_content">
          <div class="window_fulscreen">
              <!--<iframe src="http://www.acadetodo.com/microblog"></iframe>--></pre>
<pre id="line195">              <iframe class="fullscreen_website" src="<a href="view-source:http://www.twitter.com/">http://www.twitter.com</a>"></iframe>
          </div>
        </div>
        <div class="abs window_bottom">
          Demo Browser - Author AHA
        </div>
      </div>
      <span class="abs ui-resizable-handle ui-resizable-se"></span>
</div></pre>
<pre id="line204"><div id="window_chrome" class="abs window">
      <div class="abs window_inner">
        <div class="window_top">
          <span class="float_left">
            <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/chrome.png">assets/images/icons/chrome.png</a>" height="22px"/>
            Google Chrome
          </span>
          <span class="float_right">
            <a href="<a href="view-source:http://localhost/showroom/#">#</a>" class="window_min"></a></pre>
<pre id="line214">            <a href="<a href="view-source:http://localhost/showroom/#">#</a>" class="window_resize"></a>
            <a href="<a href="view-source:http://localhost/showroom/#icon_dock_chrome">#icon_dock_chrome</a>" class="window_close"></a>
          </span>
        </div>
        <div class="abs window_content">
          <div class="window_fulscreen">
              <!--<iframe src="http://www.acadetodo.com/microblog"></iframe>-->
              <iframe class="fullscreen_website" src="<a href="view-source:http://chrome.google.com/">http://chrome.google.com</a>"></iframe></pre>
<pre id="line222">          </div>
        </div>
        <div class="abs window_bottom">
          Demo Browser - Author AHA
        </div>
      </div>
      <span class="abs ui-resizable-handle ui-resizable-se"></span>
</div>

<!-- TOP BAR --></pre>
<pre id="line236">  <div class="abs" id="bar_top">
    <span class="float_right" id="clock"></span>
    <!-- automenu Option for the multiscreen feature by Nestor Velazquez -->

    <ul style="float: left;">
          <li>
                <a class="menu_trigger" href="<a href="view-source:http://localhost/showroom/#">#</a>">Contact Us / Feedback</a>
          </li>
          <li style="width: 930px;"></pre>
<pre id="line245">                <!--<a href="#">Element 2</a>-->
                <div id="elMenu"></div>
          </li>
    </ul>
  </div>

<!-- TASK BAR -->
  <div class="abs" id="bar_bottom">
    <a class="float_left" href="<a href="view-source:http://localhost/showroom/#">#</a>" id="show_desktop" title="Show Desktop"></pre>
<pre id="line255">      <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/icon_22_desktop.png">assets/images/icons/icon_22_desktop.png</a>" />
    </a>
    <ul id="dock">
        <li id="icon_dock_microblog">
            <a href="<a href="view-source:http://localhost/showroom/#window_microblog">#window_microblog</a>">
                <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/icon_22_microblog.png">assets/images/icons/icon_22_microblog.png</a>" />
                Microblog
            </a>
        </li></pre>
<pre id="line264">        <li id="icon_dock_acadetodo">
            <a href="<a href="view-source:http://localhost/showroom/#window_acadetodo">#window_acadetodo</a>">
                <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/icon_22_acadetodo.png">assets/images/icons/icon_22_acadetodo.png</a>" height="22"/>
                Acadetodo.com
            </a>
        </li>

        <li id="icon_dock_chrome">
            <a href="<a href="view-source:http://localhost/showroom/#window_chrome">#window_chrome</a>">
                <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/chrome.png">assets/images/icons/chrome.png</a>" height="22px" /></pre>
<pre id="line274">                Microblog
            </a>
        </li>

        <li id="icon_dock_twitter">
            <a href="<a href="view-source:http://localhost/showroom/#window_twitter">#window_twitter</a>">
                <img src="<a href="view-source:http://localhost/showroom/assets/images/icons/twitter.png">assets/images/icons/twitter.png</a>" height="22px" />
                Twitter
            </a>
        </li>

    </ul>

El ejemplo en acción se ve en este link.

Deja un comentario

*