ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 如何将我的“桌面视图”html文件与我的“移动视图”jQuery移动文件结合起来?

2019-07-03 09:23:37  阅读:153  来源: 互联网

标签:jquery javascript html5 jquery-mobile html


为了详细说明我的问题,我设计了一个专门在桌面上查看的网站.如果在移动设备上进行测试,它看起来不太好.因此,我使用jQuery mobile为我的网站(包含所有相同的内容)制作了完全不同的布局(由于其简单性).

我现在意识到可能有更好的方法来实现这一点,例如在我的CSS文件中实现移动视图,基于媒体查询,但这是我选择这样做的方式,并且更愿意坚持下去.

所以这是我的问题:

我想使用我的JavaScript文件来检测不同的屏幕大小,以便根据指定的屏幕宽度和高度显示桌面视图或移动视图.截至目前,我的桌面视图和移动视图有两个不同的html文件,我知道这不好.

我不想要两个html文件,我想把两者结合起来!这是我能够在.js文件中调用两个不同代码的唯一方法,对吗?有谁知道如何做到这一点?

在我的移动视图文件中,我需要包含jQuery库.没有这些,它将无法运作.但是当我尝试在我的桌面视图文件中包含它时(因为我现在正在尝试组合这些文件),我只是单独测试了它,它完全弄乱了桌面上的视图.我该如何解决这个问题?除此之外,我假设我只是将代码与两个不同的代码分开,只要合并其余的代码,是吗?

例如,

    <div id="desktop"> ..... </div>  <!-- this is for desktop view -->

    <div id="mobile"> ..... </div> <!-- this is for mobile view -->

拜托,任何帮助都会非常感激.我试过研究这个,但我找不到任何具体到足以回答我的问题.

这是我的桌面视图文件的开头:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="hwk5.css">
    <script type="text/javascript" src="hwk5.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

</head>
<body>

这是我的移动视图文件的开头:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1">
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>

    <style>
        img.fullscreen {
            max-height:50%;
            max-width:50%;
        }
    </style>
</head>
<body>

解决方法:

正如我在评论中所说,你可以只是detect mobile browsing with PHP并相应地将用户重定向到桌面或移动网站,但如果你真的想用jQuery做这个,那就有可能.

您需要检查页面宽度onReady和onResize:

$(document).ready(function(){resize();});
$(window).resize(function(){resize();});

function resize()
{
    var mobileMaxWidth = 640; //Define this to whatever size you want
    if($(window).width() > mobileMaxWidth)
    {
        $("div#desktop").show();
        $("div#mobile").hide();
    }
    else
    {
        $("div#desktop").hide();
        $("div#mobile").show();
    }
}

JSFiddle

至于jQuery弄乱你的桌面网站,你必须使用另一个DOM.您是否正在导入MooTools或其他使用$的流行DOM?如果是这样,您需要将jQuery代码显式标记为jQuery(“selector”)…而不是$或使用jQuery.noConflict.

有关更多信息,请参阅this post.

标签:jquery,javascript,html5,jquery-mobile,html
来源: https://codeday.me/bug/20190703/1365276.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有