<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0" /> <scr
点击反馈 不知道小伙伴们有没有注意过这样一个细节,有的应用按钮,链接,可交互的卡片点击起来十分有感觉,而有的却像是点在白纸上了一样,是什么造成了他们使用户有如此明显的感受区分呢?.... 1.jpg
由于现在众多移动设备的兴起,各种手机厂商推出了许多不同屏幕尺寸大小的手机型号,前端人员在编写代码时就需要适配各种手机屏幕。
Vue.observable(object) 让一个对象可响应。Vue 内部会用它来处理 data 函数返回的对象。返回的对象可以直接用于渲染函数和计算属性内,并且会在发生变更时触发相应的更新。也可以作为最小化的跨组件状态存储器,用于简单的场景
上班摸鱼,下班摸鱼,一直摸一直爽。在一次调试的过程中,我按下了F12刚好是掘金的页面,然后把代码输入到控制台之后,顺手滚动了几下右侧的滚动条,发现个问题如下图所示:
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
代码已上传至github github代码地址:https://github.com/Miofly/mio.git
在Vue 2中实现截图功能,可以使用HTML5的Canvas元素和一些JavaScript代码来捕获屏幕或特定元素的截图。以下是一个简单的步骤和示例代码来实现这个功能:
在项目中为了屏幕适配,经常会用到rem,postcss-px2rem就是为了让我们直接在将代码中px自动转化成对应的rem的一个插件.(下边的方法适用于使用cli2脚手架搭建的项目,现在好多数项目使用cli3搭建,我在后边的文章中增加了对cli3项目自适应的配置.)
基础引入方案(通用) 新建 [Blogroot]\themes\butterfly\source\js\floatpanel.js, var ANGLE = 45; //控制浮动角度,数值越大,浮动幅度越大。 var panel= document.getElementsByClassName('wowpanels'); for(var i = 0;i<panel.length;i++){ floatable(panel[i]); } function floatable (content) {
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。 💅文章概要:vanilla-tilt.js是Javascript中一个平滑的3D倾斜库,可以让网页的一些控件变得动态起来,本篇文章主要讲述了如何下载及在网页代码中配置vanilla库。
随着七八月的到来,大小厂们都开始了秋招提前批,在这个背景下,写出一份优秀的简历无疑是面试邀请的敲门砖。
1、安装threejs :npm install three --save 2、页面引入 :import * as THREE from "three"; 如果使用到 OrbitControls 和 CSS3DRenderer import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"; import { CSS3DRenderer,CSS3DObject } from "three/examples/j
是实现2个场景的定时切换,由于是用在大屏系统,需要浏览器一直能正常运行,不能运行一段时间卡死
chart.gif 使用例子 <template> <Card style='margin: 20% auto; width: 600px' title=''> width: {{ size.width }} / height: {{ size.height }} </02canvas合成文字以及对文字进行换行处理代码已上传至github github代码地址:https://github.com/Miofly/mio.git04CSS3新单位——rem学习近期,公司招了一个前端,看他的代码时,有特别多的rem作为单位。对于我这种H5小菜鸟来说,没有办法,又被强制学习了一波。 rem是css3中新增加的一个单位属性(font size of the root element),根据页面的根节点的字体大小进行转变的单位。而根节点就是<html>节点。03ASP.NET AJAX(12)__浏览器兼容功能判断浏览器的类型和版本Sys.Browser针对DOM元素的兼容操作针对DOM事件的兼容操作目前,常见的浏览器IE(6,8,9),chrome,firefox,safari等,还有国内的一些曾经靠恐吓用户来提高使用率的某浏览器(河蟹社会),这些浏览器对于Javascript的语言特性实现大致是相同的,但是对于DOM操作方式却大相径庭,所以我们通常需要自己对不同浏览器对于DOM的操作方式进行分而治之,或者我们往往是使用一些Javascript框架提供的兼容功能,当然也有我们的Microsoft AJAX Library 判断浏览器的类型和版本 浏览器兼容层的优势在于,我们可以使用同样的编码方式,让相09pc 和 ipad 端网站适配方法一:设置fontsize 按照iphone 5的适配 1em=10px 适配32003js中offset系列、client系列、scroll系列和screen系列详解element.offsetTop: 返回元素距离带有定位的父元素的顶部的距离,如果所有父级元素没有则默认为浏览器的body区域; element.offsetLeft: 返回元素距离带有定位的父元素的左侧的距离,如果所有父级元素没有则默认为浏览器的body区域; element.offsetWidth: 返回元素大小,元素内容宽度 + padding值 + border值; element.offsetHeight: 返回元素大小,元素内容高度 + padding值 + border值;02再谈BOM和DOM(5):各个大流浪器DOM和BOM里面的那些坑—兼容性所有浏览器的focus/blur事件都不冒泡,万幸的是大部分浏览器支持focusin/focusout事件,不过可恶的firefox连这个都不支持。04520-七夕-H5兴趣项目演示+海报生成代码已上传至github github代码地址:https://github.com/Miofly/mio.git03原生H5 520兴趣项目演示代码已上传至github github代码地址:https://github.com/Miofly/mio.git02Vue 实现图片监听鼠标滑轮滚动实现图片缩小放大功能其实想要实现功能很简单,就是在一张图片上监听鼠标滑轮滚动的事件,然后根据上滚还是下滚实现图片的缩放。02如何实现一个丝滑的点击水波效果注意看addEventListener方法的第三个参数中都设置了passive = true,这个选项用来告诉浏览器我们的处理函数中不会调用preventDefault方法,这么做有什么好处呢?比如touch事件或scroll事件的默认行为都会触发页面的滚动,如果调用了preventDefault方法,那么就会阻止滚动,但问题是浏览器并不知道我们有没有在事件处理函数中调这个方法,那么就必须等待函数执行完毕才知道,有时候函数的执行是比较耗时的,这样就会导致页面卡顿,所以如果我们的处理函数中明确不会调用preventDefault方法,那么就通过passive标志直接告诉浏览器,这样浏览器就不会等待,直接进行滚动,可以显著提升页面性能和体验。02css3D 全景图 - 含有定位的文字Label (adsbygoogle = window.adsbygoogle || []).push({});05让你瞬间提高工作效率的常用js函数汇总(持续更新)本文总结了项目开发过程中常用的js函数和正则,意在提高大家平时的开发效率,具体内容如下:02使用Vue开发Chrome插件我当时学习开发 Chrome 插件的时候,还不会 Vue,更别说 Webpack 了,所以使用的都是原生的 html 开发,效率就不提了,而这次就准备使用 vue-cli 来进行编写一个某 B 站获取视频信息,评论的功能(原本是打算做自动回复的),顺便巩固下 chrome 开发(快一年没碰脚本类相关技术了),顺便写套模板供自己后续编写 Chrome 插件做铺垫。02添加气泡上升特效添加JavaScript 在需要的地方添加以下JS //运行主函数 circleMagic(); //主函数内容 function circleMagic(options) { let width; let height; let canvas; let ctx; let animateHeader = true; const circles = []; const settings = opt04手机端页面自适应布局---rem如果页面的宽度超过了640px,那么页面中html的font-size恒为100px。否则,页面中html的font-size大小为:100*(当前页面宽度 / 640)。05使用 vue3 的自定义指令给 element-plus 的 el-dialog 增加拖拽功能https://www.zhihu.com/zvideo/138045079197573120003从0到1搭建一款页面自适应组件(Vue.js)组件将根据屏幕比例及当前浏览器窗口大小,自动进行缩放处理。 建议在组件内使用百分比搭配flex进行布局,以便于在不同的分辨率下得到较为一致的展示效果。 使用前请注意将body的margin设为0,否则会引起计算误差。 fullScreenContainer.vue <template> <template v-if="ready"> <slot></slot> </template>03H5页面适配及微信默认字号问题的最佳实践移动端适配最简单的是通过js动态计算 viewport 的缩放值,但过于粗暴,会导致页面图片文字失真模糊。目前,移动端页面一般使用 rem 或 vw / vh 开发会较为方便,下面以 rem 为例:014解决移动端适配rem单位在华为和三星手机出现buggithub代码地址:https://github.com/Miofly/mio.git03Echarts图表宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!网上对于这两个的解决方案大同小异,手动的记录父元素的宽度,或者侦听display属性,解决方案要么感觉极其复杂,要么治标不治本, 这两个缠绕多年的问题,我们将通过一个插件彻底完美解决它们!!!04H5移动端rem适配1 /** 2 * 移动端自适应 3 */ 4 <meta name="viewport" 5 content="width=device-width,user-scalable=no,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0"> 6 // 7 // 04在微信小游戏中使用three.js显示3D图形笔者之前从未接触过微信小程序和WebGL的开发,但是却一直有留意相关技术的发展,大概听说原来微信小程序是不支持WebGL 3D技术的。这次借着微信大力推广小游戏,看了一下API文档,发现小游戏是可以使用的WebGL进行开发的。而最近正好又有点时间,就随便搞搞,试试小游戏的效果。因为小游戏“跳一跳”是用three.js所制作的,所以我就选择了three.js所。那么开始吧。05第148天:js+rem动态计算font-size的大小,适配各种手机设备布局排版都用rem做单位,然后不同宽度的屏,js动态计算根节点的font-size。03教你实现一个悬浮可拖动并在滑动页面时会自动收缩的vue侧边组件按钮实现一个悬浮可拖动且可自定义的一个侧边按钮,在实际的业务开发中可以根据业务需要进行调整04clickAwayHook Vue 监听元素外事件 hookchart.gif 使用例子 <template> <Card style='margin: 20% auto; width: 600px' title='' > {{ state }} <Button ref='element' @click="innerClick"> inner </Button> </Card> </template> <scrip01【如果你要学JS XIII】——实现放大镜效果、client&scroll属性、固定侧边栏client翻译过来就是客户端,我们使用client系列的相关属性来获取元素可视区的相关信息。通过client系列 的相关属性可以动态的得到该元素的边框大小、元素大小等。01如何写自适应分辨率的网页方式一:用媒体查询"@media",这种写法好处是可以对不同分辨率的设备,展示完全不同的UI界面,一个页面不同的设备看的时候,展示内容可以不一样,交互方式可以不一样。不过这个不方便用在复杂的地方,而且不同的分辨率都需要对应的重新写样式,同一个页面集合太多的这种写法,最好是分开写两套,降低耦合性。但是这种写法费力不讨好,之前有的网站在PC和手机查看到的样式不一致,用了一些这个技术,但是后来很多都是检测到不同设备,就跳转到不同的网页上去了。02vue 记账本「第一个目的」:这一个移动端记账本的创作来源呢,其实是我在学习了理财的课程之后,突然想为自己写一个记账的东西来记录自己每天花费的钱,从而可以降低那些不必要的开销,从而达到理财的第一步。04日常开发中px单位自动转换为rem的方法https://qmblog.qmzm.co/2021/11/wz01-1-2-1.png03一文彻底搞懂js中的位置计算Element.scroll()方法是用于在给定的元素中滚动到某个特定坐标的Element 接口。01clientwidth_JavaScript中的clientWidth和clientHeight[通俗易懂]Using clientWidth and clientHeight you’re able to get the pixel dimensions of an HTML element. The dimensions are calculated using the dimensions of content inside the HTML element, along with the padding.02IScroll的那些事——内容不足时下拉刷新之前项目中的列表是采用的IScroll,但是在使用IScroll有一个问题就是:当内容不足全屏的时候,是木有办法往下拉的,这样就达不到刷新的目的了。【这是本人工作中遇到的,具体例子具体分析,这里只作一个参考】 大致的例子是这样的: <style> * { margin: 0; padding: 0; } html,body,.container { width: 100%; height: 100%; }011移动端web页面开发的一些问题前端涉及到的领域不单单只是PC浏览器了,现在是移动为王的时代,所以大部分的时候还是在做移动端的页面适配。所以这里记录一下在移动端开发的时候遇到的一些问题。02
近期,公司招了一个前端,看他的代码时,有特别多的rem作为单位。对于我这种H5小菜鸟来说,没有办法,又被强制学习了一波。 rem是css3中新增加的一个单位属性(font size of the root element),根据页面的根节点的字体大小进行转变的单位。而根节点就是<html>节点。
目前,常见的浏览器IE(6,8,9),chrome,firefox,safari等,还有国内的一些曾经靠恐吓用户来提高使用率的某浏览器(河蟹社会),这些浏览器对于Javascript的语言特性实现大致是相同的,但是对于DOM操作方式却大相径庭,所以我们通常需要自己对不同浏览器对于DOM的操作方式进行分而治之,或者我们往往是使用一些Javascript框架提供的兼容功能,当然也有我们的Microsoft AJAX Library 判断浏览器的类型和版本 浏览器兼容层的优势在于,我们可以使用同样的编码方式,让相
方法一:设置fontsize 按照iphone 5的适配 1em=10px 适配320
element.offsetTop: 返回元素距离带有定位的父元素的顶部的距离,如果所有父级元素没有则默认为浏览器的body区域; element.offsetLeft: 返回元素距离带有定位的父元素的左侧的距离,如果所有父级元素没有则默认为浏览器的body区域; element.offsetWidth: 返回元素大小,元素内容宽度 + padding值 + border值; element.offsetHeight: 返回元素大小,元素内容高度 + padding值 + border值;
所有浏览器的focus/blur事件都不冒泡,万幸的是大部分浏览器支持focusin/focusout事件,不过可恶的firefox连这个都不支持。
其实想要实现功能很简单,就是在一张图片上监听鼠标滑轮滚动的事件,然后根据上滚还是下滚实现图片的缩放。
注意看addEventListener方法的第三个参数中都设置了passive = true,这个选项用来告诉浏览器我们的处理函数中不会调用preventDefault方法,这么做有什么好处呢?比如touch事件或scroll事件的默认行为都会触发页面的滚动,如果调用了preventDefault方法,那么就会阻止滚动,但问题是浏览器并不知道我们有没有在事件处理函数中调这个方法,那么就必须等待函数执行完毕才知道,有时候函数的执行是比较耗时的,这样就会导致页面卡顿,所以如果我们的处理函数中明确不会调用preventDefault方法,那么就通过passive标志直接告诉浏览器,这样浏览器就不会等待,直接进行滚动,可以显著提升页面性能和体验。
(adsbygoogle = window.adsbygoogle || []).push({});
本文总结了项目开发过程中常用的js函数和正则,意在提高大家平时的开发效率,具体内容如下:
我当时学习开发 Chrome 插件的时候,还不会 Vue,更别说 Webpack 了,所以使用的都是原生的 html 开发,效率就不提了,而这次就准备使用 vue-cli 来进行编写一个某 B 站获取视频信息,评论的功能(原本是打算做自动回复的),顺便巩固下 chrome 开发(快一年没碰脚本类相关技术了),顺便写套模板供自己后续编写 Chrome 插件做铺垫。
添加JavaScript 在需要的地方添加以下JS //运行主函数 circleMagic(); //主函数内容 function circleMagic(options) { let width; let height; let canvas; let ctx; let animateHeader = true; const circles = []; const settings = opt
如果页面的宽度超过了640px,那么页面中html的font-size恒为100px。否则,页面中html的font-size大小为:100*(当前页面宽度 / 640)。
https://www.zhihu.com/zvideo/1380450791975731200
组件将根据屏幕比例及当前浏览器窗口大小,自动进行缩放处理。 建议在组件内使用百分比搭配flex进行布局,以便于在不同的分辨率下得到较为一致的展示效果。 使用前请注意将body的margin设为0,否则会引起计算误差。 fullScreenContainer.vue <template> <template v-if="ready"> <slot></slot> </template>03
移动端适配最简单的是通过js动态计算 viewport 的缩放值,但过于粗暴,会导致页面图片文字失真模糊。目前,移动端页面一般使用 rem 或 vw / vh 开发会较为方便,下面以 rem 为例:
github代码地址:https://github.com/Miofly/mio.git
网上对于这两个的解决方案大同小异,手动的记录父元素的宽度,或者侦听display属性,解决方案要么感觉极其复杂,要么治标不治本, 这两个缠绕多年的问题,我们将通过一个插件彻底完美解决它们!!!
1 /** 2 * 移动端自适应 3 */ 4 <meta name="viewport" 5 content="width=device-width,user-scalable=no,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0"> 6 // 7 //
笔者之前从未接触过微信小程序和WebGL的开发,但是却一直有留意相关技术的发展,大概听说原来微信小程序是不支持WebGL 3D技术的。这次借着微信大力推广小游戏,看了一下API文档,发现小游戏是可以使用的WebGL进行开发的。而最近正好又有点时间,就随便搞搞,试试小游戏的效果。因为小游戏“跳一跳”是用three.js所制作的,所以我就选择了three.js所。那么开始吧。
布局排版都用rem做单位,然后不同宽度的屏,js动态计算根节点的font-size。
实现一个悬浮可拖动且可自定义的一个侧边按钮,在实际的业务开发中可以根据业务需要进行调整
chart.gif 使用例子 <template> <Card style='margin: 20% auto; width: 600px' title='' > {{ state }} <Button ref='element' @click="innerClick"> inner </Button> </Card> </template> <scrip
client翻译过来就是客户端,我们使用client系列的相关属性来获取元素可视区的相关信息。通过client系列 的相关属性可以动态的得到该元素的边框大小、元素大小等。
方式一:用媒体查询"@media",这种写法好处是可以对不同分辨率的设备,展示完全不同的UI界面,一个页面不同的设备看的时候,展示内容可以不一样,交互方式可以不一样。不过这个不方便用在复杂的地方,而且不同的分辨率都需要对应的重新写样式,同一个页面集合太多的这种写法,最好是分开写两套,降低耦合性。但是这种写法费力不讨好,之前有的网站在PC和手机查看到的样式不一致,用了一些这个技术,但是后来很多都是检测到不同设备,就跳转到不同的网页上去了。
「第一个目的」:这一个移动端记账本的创作来源呢,其实是我在学习了理财的课程之后,突然想为自己写一个记账的东西来记录自己每天花费的钱,从而可以降低那些不必要的开销,从而达到理财的第一步。
https://qmblog.qmzm.co/2021/11/wz01-1-2-1.png
Element.scroll()方法是用于在给定的元素中滚动到某个特定坐标的Element 接口。
Using clientWidth and clientHeight you’re able to get the pixel dimensions of an HTML element. The dimensions are calculated using the dimensions of content inside the HTML element, along with the padding.
之前项目中的列表是采用的IScroll,但是在使用IScroll有一个问题就是:当内容不足全屏的时候,是木有办法往下拉的,这样就达不到刷新的目的了。【这是本人工作中遇到的,具体例子具体分析,这里只作一个参考】 大致的例子是这样的: <style> * { margin: 0; padding: 0; } html,body,.container { width: 100%; height: 100%; }
前端涉及到的领域不单单只是PC浏览器了,现在是移动为王的时代,所以大部分的时候还是在做移动端的页面适配。所以这里记录一下在移动端开发的时候遇到的一些问题。
领取专属 10元无门槛券
手把手带您无忧上云