项目:gdlt_custom_number二期收获与总结

2024-05-11 11:48

本文主要是介绍项目:gdlt_custom_number二期收获与总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先说一下感想吧,这次的项目我是用响应式布局,一套代码,二种设备(PC、MOBILE),通过CSS3 的 media query,一套代码运行在两种设备上效率着实很高,但这样写的话,兼容性在PC端的IE8-下就没用了。

1.使用rem作为基本单位

使用rem作为基本单位真的很方便。如果要让一些div的高度随着移动设备的宽度改变的话,就直接以rem为基本单位,但前提是通过JS来设置html的font-size。在这次项目中我是这么设置的:

<script>var dde = document.documentElement,dde_width = dde.clientWidth;if(dde_width < 1003){ dde.style.fontSize = dde_width * 10 / 32 + 'px';  //①}else {dde.style.fontSize = 150 + 'px';}   </script>
为什么dde_width < 1003呢,这个看你自己怎么调整。①的设置是因为我要设置html的font-size为100px(基于320px的iphone 4),刚开始设置为10px,但后来发现以webkit为显示引擎的浏览器的默认最小font-size是12px,结果就gg了,而且-webkit-text-size-adjust: none这行代码在新chrome浏览器早就没用了。

还有上面代码放在body末尾的script外部代码,在uc移动浏览器会有个bug,你必须放在head头部上才会生效。研究了很久,发现,比如,你在js代码上设置html的font-size为100px的话,那些在head头部上css外部文件的以rem为基本单位还有以浏览器默认的16px为基准。即使你设置这些代码在DomContentLoaded事件中执行也是一样。


2.在页面这行代码所在区域触发的click事件中target是里面的img

<a class="hammer" data-id="1"><img src="img/hammer.png"></a>


3.①要让图片作为背景占据整个移动端屏幕的话,就设置
background-size: 100% auto;

②弹出窗口要是positon:fixed,里面的div为position:absolute的话,一定记得考虑各个设备的分辨率或者宽度,不然以后要调烦死你,也就是在PC端固定宽度才是王道啊


4.移动端弹出窗口禁止滚动的方法,就是在进行弹出窗口上设置touchmove事件时取消默认就可以了

function preventScroll(id){id.addEventListener("touchmove",function(e){e.preventDefault();},false)
}

id为某一个对象

5.①用原生JS的XHR时,即使后台返回的是JSON,那么也得对返回结果进行JSON转换,JSON.parse(result)

②另外在用原生JS的XHR时,与后台交互的URL和用JQuery的AJAX时也是有区别的。本地测试,在用JQuery的AJAX时,URL直接写url="addUser"就可以了,而原生JS的XHR的url="/custom_number2/addUser"。不过这种在挂到服务器上就都写成url="addUser"就可以了,此为与JAVA后台交互的url

function submitData(type,url,callback,dataString){var xhr = new XMLHttpRequest();if(xhr != null){xhr.onreadystatechange = function(event){if (xhr.readyState == 4){if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){callback(xhr.responseText);} else {alert("Request was unsuccessful: " + xhr.status);}}};if(type.toLowerCase() == "post"){xhr.open("post", url, true);xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");xhr.send(dataString);}else if(type.toLowerCase() == "get"){xhr.open("get", url, true);xhr.send(null);}}else {alert("Your browser doesn't support XMLHTTP");}         
}


这篇关于项目:gdlt_custom_number二期收获与总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/979445

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法