问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在div+css布局中使用easyui 时,每个div页面都引用了easyui的js,效果会乱掉,请大侠们帮忙

发布网友 发布时间:2022-05-12 19:29

我来回答

3个回答

懂视网 时间:2022-05-12 23:51

  最近在使用MVC4与EasUI过程中遇到些容易导致界面变形的问题,纠结了很久,但其实当发现问题在哪里时,倒觉得最终还是自己对MVC4的概念没把握好,OK,show time. 本示例Contact 页面的部分标签loadAbout页面。

  1. 首先复原一下问题,相信应该会有后来的朋友也遇见。加载JS 与CSS 。

    App_Start文件下的BundleConfig.cs

1 bundles.Add(new ScriptBundle("~/bundles/jquery-easyui").Include(2    "~/Content/jquery-easyui-1.3.4/jquery-easyui-min.js"));3 4 bundles.Add(new StyleBundle("~/Content/jquery-easyui-1.3.4/themes/default/css").Include("~/Content/jquery-easyui-1.3.4/themes/default/easyui.css"));

  以上内容在配置时需要注意:默认download下来的jquery.easyui.min.js 名称要改为jquery-easyui-min.js,否则加载不成功;其次尤其要注意stylebundle的virtualpath问题,必须是XXX/Default/XXX 才可以,要到达CSS的目录,但名称可以自定义;如果为XXX/Default的话,不好意思,认不到相应的CSS。

  2. 在_Layout.cshtml 页加载相应的引用;  

1 @Scripts.Render("~/bundles/jquery-easyui")
2  @Styles.Render("~/Content/css")

  使用link标签将样式表放在文档head中,且在script标签前。

  原因是:另外样式放在底部的加载情况是:当页面逐步加载时,文字首先显示,接着是图片。最后,当样式表正确下载了之后,已经呈现的文字  和图片就要用新的样式重绘。就好像格子铺里,东西都按顺序摆好了,但是老板说,这个东西得这样、那样摆,又得挨个重新摆了。

  将script脚本放在底部

  原因是:脚本放在页面顶部同样会引起页面阻塞,阻止页面逐渐呈现。

  http协议1.1规范,建议浏览器从每个主机并行下载两个组件,并行下载的数量的优劣取决于带宽和CPU,过多的并行下载也会降低性能。并行  下载的优点很明显,组件可以并行下载,但是下载脚本时并行下载是禁用的,是为了保证脚本能够按照正确的顺序执行。因为脚本不能并行下  载,为避免组件的下载延迟,最好将脚本放在页面底部。

  3. Controller代码调用页面,使用PartialView,如此框架便会自动过滤掉母版页的样式与脚本,成为一个干净的partial.

1 public PartialViewResult About()2  {3  ViewBag.Message = "Your app description page.";5  return PartialView();6  }

  4. Contact页面

 1 
2

日历 - Calendar

3 4 5 单击选择日期 6 7
8 9

  5. About页面

1 2 @* @Scripts.Render("~/bundles/jquery")*@ //此处是主要问题点,一不小心,就会让人很捉鸡。3 @Scripts.Render("~/bundles/jquery-easyui")

如果不增加标红的jquery引用,则一切正常;

如果加上后,某处似乎会出现重复的问题,如下:

此问题,原因其实很简单,easyui 的控件是需要动态画上去的,而之前母版页加载的easyui.js 在Load()方法调用后,是不会再执行了,因为那货已经在母版页加载过一次了,此次本来就是使用了Ajax的部分页面重画,当然不能再麻烦人家了。有时心不平气不和就会费神费力浪费青春,回过头来,原来解决问题的方案早都在哪里等Cao了。

热心网友 时间:2022-05-12 20:59

一般情况下,引用公共包文件多半是放在header和foot页面这两个公共页面中,
可以保证每个页面都加载到
easyui的包最好在header中加载一次就可以了,其他页面不要加载,
否则,js会报'重复声明变量或方法'的错误追问我本来是想用div+css来实现点击header操作left或right,采用的是jquery.load()局部加载页面,待加载的子页面能不能共享到父页面的引用js包呢?

热心网友 时间:2022-05-12 22:17

我猜想应该是目标节点被重复赋予操作导致,就好比对同一个div,你使用两次toggle方法,那实际效果就是点击该div,先展开但是又马上自动收起一样。

这里你把header.jsp或者left.jsp中的引用删掉一个看是否正常。追问我试过,因为每个JSP中都需要easyui的效果,如果去除掉,就会没有效果

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这是真的黑米还是假的? 牡丹江市区好玩的地方 显卡问题,现在的显卡显存一般都为多少? 现在主流显存是多少?512M5年后会过时吗 主流家用电脑配置家用电脑买什么样配置比较好 现在的电脑显存一般是多少? 安顺万家领秀城怎么样?好不好?值不值得买? 请问下面一道题怎么加标点 花园里 牡丹 月季 玫瑰 芍药 开得美丽极了... 是什么把大地打扮的这么漂亮呢 是雪呀 这两句话怎么写标点符号? 通州有那些私立高中啊 已添加对方未验证接受的情况下如何删除对方- 问一问 三星j5008微信朋友圈照片有的黑屏看不见 雪纺西服怎样去皱 西装内衬不平整 一年半的疤痕增生 可以通过什么治疗方法 疤痕增生一年,可以打疤痕软化针吗? 术后疤痕增生1年半还在增生怎么治 心脏术后一年疤痕增生很厉害,有什么办法 疤痕增生自己可以长好吗?都快一年的,每天晚上都痒。 皮肤疤痕增生要多长时间才能恢复 怎么去快一年的增生性疤痕 一年的增生疤痕能自己变平吗 大的推荐个千元显示器,什么144,2k不重要 一年多的增生疤痕,每天给它按摩,会自行平软吗 疤痕增生怎么办,做激光手术一年多了,现在伤口还是红色的 4k60hz和2k144hz哪个好 疤痕增生一年多了,请问自己会恢复吗 增生疤痕一年用什么去疤药好 2k144hz显示器哪个牌子好 我想开一家五金店.该怎么入手 酵素什么时候喝最好?一天喝几次? 酵素洗面粉一天洗几次 询问英语单词 华为nova4e电池容量 求教,目前光刻胶(光阻)的主要厂家都是那几家? 用于LED行业的正负胶的各家主要产品代号是什么? 南大光电为什么跌得厉害?南大光电年报 2021?南大光电公司重大利好? 我是新手,药店会计分录有哪些 车方向盘锁住了钥匙拧不动怎么办 用jquery的load方法刷新div下的有easy UI属性的easyui-datagrid的table,之后样式没了,怎么办 我不清楚什么是验证码怎么办,你能说的详细一点吗 忘了手机验证码该怎么办呢? 光遇华为账号和网易云账号同步吗吗 请问中国银行深圳NRA账户的开户流程是什么? 港诡实录怎么调帧率 easyui datagrid load 不刷新页面 文明重启社区服刷新物资执行成功但是物资刷不出来是什么原因 刨矿游戏也不卡? 华为新芯片问世!除了麒麟系列,这款芯片也达到了世界领先 怎样办理护照和港澳通 怎么样办港澳通行证和护照? c# mvc4 中的 easyui使用问题,我在VIEW中明明引用了相关js文件,但运行说不支持某方法。