// querySelector() 返回匹配到的第一个元素var item = document.querySelector('.item')console.log(item)// querySelectorAll() 返回匹配到的所有元素,是一个nodeList集合var items = document.querySelectorAll('.item')console.log(items[0])1234567
阻止默认行为
// 原生jsdocument.getElementById('btn').addEventListener('click', function (event) {event = event || window.event;if (event.preventDefault){// w3c方法 阻止默认行为
event.preventDefault()
} else{// ie 阻止默认行为
event.returnValue = false
}
}, false)// jQuery$('#btn').on('click', function (event) {event.preventDefault()
})1234567891011121314151617
阻止冒泡
// 原生jsdocument.getElementById('btn').addEventListener('click', function (event) {event = event || window.event;if (event.stopPropagation){// w3c方法 阻止冒泡
event.stopPropagation()
} else{// ie 阻止冒泡
event.cancelBubble = true
}
}, false)// jQuery$('#btn').on('click', function (event) {event.stopPropagation()
})1234567891011121314151617
鼠标滚轮事件
$('#content').on("mousewheel DOMMouseScroll", function (event) {
// chrome &ie || // firefox
var delta = (event.originalEvent.wheelDelta &&(event.originalEvent.wheelDelta >0 ? 1 : -1)) || (event.originalEvent.detail &&(event.originalEvent.detail >0 ? -1 : 1))
if (delta >0) {
// 向上滚动
console.log('mousewheel top')
} else if (delta <0) {// 向下滚动
console.log('mousewheel bottom')
}
})123456789101112
检测浏览器是否支持svg
function isSupportSVG() {
var SVG_NS = 'http://www.w3.org/2000/svg' return !!document.createElementNS &&!!document.createElementNS(SVG_NS, 'svg').createSVGRect
}
// 测试console.log(isSupportSVG())1234567
检测浏览器是否支持canvas
function isSupportCanvas() {
if(document.createElement('canvas').getContext){return true
}else{return false
}
}// 测试,打开谷歌浏览器控制台查看结果console.log(isSupportCanvas())12345678910
检测是否是微信浏览器
function isWeiXinClient() {
var ua = navigator.userAgent.toLowerCase()
if (ua.match(/MicroMessenger/i)=="micromessenger") {
return true
} else {
return false
}
}// 测试alert(isWeiXinClient())1234567891011
jQuery 获取鼠标在图片上的坐标
$('#myImage').click(function(event){
//获取鼠标在图片上的坐标
console.log('X:' + event.offsetX+'\n Y:' + event.offsetY)
//获取元素相对于页面的坐标
console.log('X:'+$(this).offset().left+'\n Y:'+$(this).offset().top)
})1234567
验证码倒计时代码
<!-- dom --><input id="send" type="button" value="发送验证码">12
// 原生js版本var times = 60, // 临时设为60秒
timer = null
document.getElementById('send').onclick = function () {
// 计时开始
timer = setInterval(function () {
times-- if (times <= 0) {
send.value = '发送验证码'
clearInterval(timer)
send.disabled = false
times = 60
} else {
send.value = times + '秒后重试'
send.disabled = true
}
}, 1000)
}1234567891011121314151617181920
// jQuery版本var times = 60,
timer = null
$('#send').on('click', function () {
var $this = $(this) // 计时开始
timer = setInterval(function () {
times-- if (times <= 0) {
$this.val('发送验证码')
clearInterval(timer)
$this.attr('disabled', false)
times = 60
} else {
$this.val(times + '秒后重试')
$this.attr('disabled', true)
}
}, 1000)
})12345678910111213141516171819202122
常用的一些正则表达式
//匹配字母、数字、中文字符
/^([A-Za-z0-9]|[\u4e00-\u9fa5])*$/
//验证邮箱
/^\w+@([0-9a-zA-Z]+[.])+[a-z]{2,4}$/
//验证手机号
/^1[3|5|8|7]\d{9}$/
//验证URL
/^http:\/\/.+\./
//验证身份证号码
/(^\d{15}$)|(^\d{17}([0-9]|X|x)$)/
//匹配中文字符的正则表达式
/[\u4e00-\u9fa5]/
//匹配双字节字符(包括汉字在内)
/[^\x00-\xff]/1234567891011121314151617181920
js时间戳、毫秒格式化
function formatDate(now) {
var y = now.getFullYear() var m = now.getMonth() + 1// 注意js里的月要加1
var d = now.getDate() var h = now.getHours()
var m = now.getMinutes()
var s = now.getSeconds() return y + "-" + m + "-" + d + " " + h + ":" + m + ":" + s
}
var nowDate = new Date(2016, 5, 13, 19, 18, 30, 20)
console.log(nowDate.getTime())// 获得当前毫秒数: 1465816710020console.log(formatDate(nowDate))123456789101112131415
js限定字符数(注意:一个汉字算2个字符)
<input id="txt" type="text">//字符串截取function getByteVal(val, max) {
var returnValue = '' var byteValLen = 0 for (var i = 0i <val.lengthi++) {if (val[i].match(/[^\x00-\xff]/ig) != null) byteValLen += 2else byteValLen += 1 if (byteValLen >max) break
returnValue += val[i]
}return returnValue
}
$('#txt').on('keyup', function () {
var val = this.value if (val.replace(/[^\x00-\xff]/g, "**").length >14) {this.value = getByteVal(val, 14)
}
})12345678910111213141516171819
js判断是否移动端及浏览器内核
var browser = {
versions: function() {
var u = navigator.userAgent
return {
trident: u.indexOf('Trident') >-1, //IE内核
presto: u.indexOf('Presto') >-1, //opera内核
webKit: u.indexOf('AppleWebKit') >-1, //苹果、谷歌内核
gecko: u.indexOf('Firefox') >-1, //火狐内核Gecko
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^]+( U)? CPU.+Mac OS X/), //ios
android: u.indexOf('Android') >-1 || u.indexOf('Linux') >-1, //android
iPhone: u.indexOf('iPhone') >-1 , //iPhone
iPad: u.indexOf('iPad') >-1, //iPad
webApp: u.indexOf('Safari') >-1 //Safari
}
}
}
if (browser.versions.mobile() || browser.versions.ios() || browser.versions.android() || browser.versions.iPhone() || browser.versions.iPad()) {
alert('移动端')
}123456789101112131415161718192021
之前我用过一个检测客户端的库 觉得挺好用的,也推荐给大家 叫 device.js,大家可以 Googel 或 百度
GItHub仓库地址:https://github.com/matthewhudson/device.js
getBoundingClientRect() 获取元素位置
//它返回一个对象,其中包含了left、right、top、bottom四个属性var myDiv = document.getElementById('myDiv')var x = myDiv.getBoundingClientRect().left
var y = myDiv.getBoundingClientRect().top
// 相当于jquery的: $(this).offset().left、$(this).offset().top // js的:this.offsetLeft、this.offsetTop123456
HTML5全屏
function fullscreen(element) {
if (element.requestFullscreen) {
element.requestFullscreen()
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen()
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen()
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen()
}}
fullscreen(document.documentElement)12345678910111213
最近在做一个移动端的项目,项目出现的一大堆兼容问题是在让我头疼,其中就包括获取 当前使用的 ios 的 机型。逛了很多圈博客,很多是用了组件实现的,也不知道是我方法没用对还是怎么回事,我用的组件只能获取到安卓手机的机型,最后只能采用比较笨的方法了,根据苹果手机的像素比和分辨率进行区分,代码如下:/*
设备的像素比和设备分辨率表如下:
iPhone 3GS 3.5寸 =>320x480 =>1
iPhone 4/4s 3.5寸 =>320x480 =>2
iPhone 5/5s/5c 4.0寸 => 320x568 =>2
iPhone 6 4.7寸 =>375x667 =>2
iPhone 6Plus 5.5寸 =>414x736 =>3
iPhone 6s 4.7寸 =>375x667 =>2
iPhone 6sPlus 5.5寸 =>414x736 =>3
iPhone 7 4.7寸 =>375x667 =>2
iPhone 7Plus 5.5寸 =>414x736 =>3
iPhone 8 4.7寸 =>375x667 =>2
iPhone 8Plus5 5.5寸 =>414x736 =>3
iPhone X 5.8寸 =>375x812 =>3
iPhone XS 5.8寸 =>375x812 =>3
iPhone XS Max6.5寸 =>414x896 =>3
iPhone XR 6.1寸 =>414x896 =>2
*/
let iPhone4_4s = window.devicePixelRatio &&window.devicePixelRatio === 2 &&window.screen.width === 320 &&window.screen.height === 480
let iPhone5_5s_5c = window.devicePixelRatio &&window.devicePixelRatio === 2 &&window.screen.width === 320 &&window.screen.height === 568
let iPhone6_6s_7_8 = window.devicePixelRatio &&window.devicePixelRatio === 2 &&window.screen.width === 375 &&window.screen.height === 667
let iPhone6P_6sP_7P_8P = window.devicePixelRatio &&window.devicePixelRatio === 3 &&window.screen.width === 414 &&window.screen.height === 736
接下来的机型大家可以根据上面的注释写下去,这里我只判断到了iphone8
打开CSDN,阅读体验更佳
iphone 屏幕大小及计算_杨宗卫的爸爸的博客_苹果屏幕...
从分辨率的角度来看,iPhone6沿用二倍图(@2x),但需为iPhone6+提供更高的三倍图(@3x)从屏幕尺寸角度来看,需要重新对UI元素尺寸和布局进行适配,以期视觉协调。 (1)按宽度适配 我们先来看一下iPhone4~6(+)的屏幕高宽比: iPhone4(...
js判断ipad还是安卓_JS判断客户端是否是iOS或者Android或者ipad(二...
判断方法:粗略判断只检索 "iphone"和"safari/"字符串,严格判断则要同时包含 "mozilla/","iphone","mobile/","safari/"四个字符串 iPhone版Opera Mobile: 特征表现: 以"opera/"开头,含有"iphone"字符串,同时含有 "opera mini/","...
JavaScript 判断iPhone X Series机型的方法
写在前面 如果有更优雅的方式,一定要告诉我! 现状 iPhone X 底部是需要预留 34px 的安全距离,需要在代码中进行兼容。 现状对于 iPhone X 的判断基本是这样的: // h5 export const isIphonex = () =>/iphone/gi.test(navigator.userAgent) &&window.screen &&(window.screen.height === 812 &&window.screen.width === 375)这在之前是没问题的,新的 iPhone X Series 设备发布之后,这个就会兼容就有问
swift 含iPhone14系列 具体机型判断(最新最全)
public extension UIDevice { var modelName: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfo.machine) let identifier = machineMirror.children.reduce("") { .
继续访问
H5页面适配所有iPhone和安卓机型的六个技巧_曲小强的博客
img标签的高清化,可以通过JS判断devicePixelRatio的值来加载不同尺寸的图片,但是对于背景图,写在CSS中的,用JS来判断就略麻烦了,还好CSS通过media query也能判断dpr。 目前兼容性最好的背景图高清化实现方式,使用media query的-webkit-mi...
如何获取当前设备的机型(更新到iPhoneX)?判断机型是否为iPhone X?
判断机型是否为iPhone X,首先想到的是判断当前设备的机型,另外也可以从他的固有尺寸去判断: #define KIsiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UI...
最新发布 JS判断是否是ioS或者Android
JS判断是否是ioS或者Android
继续访问
js判断苹果ios各类机型
首先需要得到设备像素比/设备分辨率(根据下面设备表去判断) /* iPhone 3GS3.5吋320x480@1x320x480 iPhone 4/4s3.5吋320x480@2x640x960 iPhone 5/5s/5c4.0吋320x568@2x640x1136 iPhone 64.7吋375x667@2x750x1334 iPhone 6Plus5.5吋414x736@3x1242x2208 iPhone 6s4.7吋375x667@2x750x1334 iPhone 6sPlus5.5吋414x7
继续访问
移动开发屏幕适配分析_weixin_34205076的博客
iPhone 3GS(非Retina屏幕)iPhone 4(Retina屏幕) 右边的图片明显要比左边的清晰,这是因为PPI要高,何为PPI。 1)PPI与DPI PPI和DPI这两个是密度单位,不是度量单位。 1. PPI(pixels per inch):图像分辨率 (在图像中,每英寸所包含的...
100个原生的JavaScript实用功能代码片段_唐策的博客
40、原生JavaScript获取移动设备屏幕宽度 41、原生JavaScript完美判断是否为网址 42、原生JavaScript根据样式名称检索元素对象 43、原生JavaScript判断是否以某个字符串开头 44、原生JavaScript判断是否以某个字符串结束 ...
iPhone12机型判断
iPhone12机型判断 case "iPhone13,1" : return "iPhone 12 mini"case "iPhone13,2" : return "iPhone 12"case "iPhone13,3" : return "iPhone 12 Pro"case "iPhone13,4" : return "iPhone 12 Pro Max"
继续访问
iphonex系列机型判断
iphonex xs xr xsmax 判断 // iphonex xs xr xsmax 判断 export function isIphonX() { // iPhone X、iPhone XS var isIPhoneX = /iphone/gi.test(window.navigator.userAgent) &&window.devicePixelRat...
继续访问
iPhone~iPhone14屏幕尺寸和分辨率的相关知识 ( DPI vs PPI pt vs px...
iPhone 4和iPhone 3GS的屏幕尺寸实际上是一样的,都是3.5英寸。在屏幕上同样一个点,实际尺寸大小一样,只是在iPhone 4上单位英寸内的像素点更多,看起来更加细腻。 4. iPhone 6/6s Plus分辨率是1242 x 2208,为什么渲染后分辨率变为1080...
纯JS判断iPhone准确机型,iPhone6~iPhoneXs Max
工作中所用到的对于iPhone各类机型的准确识别, 亲测可用,现在分享一下: //iPhone 6/6s/7/8 let isIPhone6 = /iphone/gi.test(window.navigator.userAgent) &&window.devicePixelRatio &&window.devicePixelRatio === 3 &&wind...
继续访问
js判断手机是否是苹果
前端开发会遇到判断设备类型是否是苹果端,记录一下js代码
继续访问
判断iPhone型号
#import <sys/utsname.h>#pragma mark -- 判断手机型号 -(NSString*)judgeIphoneType { struct utsname systemInfouname(&systemInfo)NSString * phoneType = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIString.
继续访问
移动端:js如何判断当前的手机系统是安卓还是iOS
废话不多说,直接上代码: // 判断当前系统是ios还是安卓 let u = navigator.userAgentlet isAndroid = u.indexOf("Android") >-1 || u.indexOf("Adr") >-1//android终端 let isIOS = !!u.match(/\(i[^]+( U)? CPU.+Mac OS X/)//ios终端 if (isAndroid) { console.log('安卓手机') } i..
继续访问
Javascript 识别iPhone、Android移动手机
通过userAgent简单识别访问设备类别
继续访问
html获取手机型号,前端通过js获取手机型号
###前段通过js获取手机型号需求:用户登录后记录当前的手机型号并记录插件:使用步骤:获取UA信息->根据安卓和IOS不同的处理IOS再通过插件mobile-device-js去获取型号安卓通过解析UA信息去获取build之前的信息得到手机型号//引入插件//获取userAgent信息var user_agent = navigator.userAgentconsole.log(user_...
继续访问
原生js判断iPhoneX系列手机型号
#原生js判断iPhoneX系列手机型号 static isIphone() { return /iphone/gi.test(window.navigator.userAgent) } static isIphonXSeries() { if (window !== 'undefined' &&window &&!this.isIphone()) return falseconst xSeriesConfig = [ {
继续访问
ios在判断设备是ipad_使用JS判断设备终端是iPhone、iPad或者电脑(PC)
今天在做一个轮播广告的项目,轮播广告上有两个特效:第一就是鼠标经过图片变亮,再就是点击图会切换成文字描述的层且覆盖图片。通常这样的效果在PC端没什么问题的,但是到IPAD上面就会需要点击两下才能切换,所以我想了想,有没有办法让ipad上只执行点击的JS代码,而不执行滑动的代码,于是就想到了“用JS判断终端设备”来解决这个问题,下面就分享下方法:iPad 使用的是 Safari Mobile 浏览器...
继续访问
JS判断是苹果系统(ios)还是安卓系统(Android)或者PC端
前言 今天看到一道面试题,JS判断是否是苹果系统(ios)和安卓系统(Android)客户端,一下就涉及到自己的知识盲区,赶紧亡羊补牢一下。顺便在拓展一下是pc还是移动端?pc端的话,又是在什么浏览器运行? JS判断是否是苹果系统(ios)和安卓系统(Android)客户端? <--!通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下--><script type="text/javascript">var u = na
继续访问
js判断手机机型
function judgeBrand(sUserAgent) { var isIphone = sUserAgent.match(/iphone/i) == "iphone"var isHuawei = sUserAgent.match(/huawei/i) == "huawei"var isHonor = sUserAgent.match(/honor/i) == "honor"var isOppo = sUserAgent.matc.
继续访问
iOS Swift 判断手机机型 已更新 至iPhone12
/// 扩展UIDevice extension UIDevice { /// 获取设备具体详细的型号 var modelName: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfo.machine) let ide.
继续访问
移动端判断是android还是ios
多端开发
继续访问
热门推荐 史上最简单,js并获取手机型号
js获取手机型号
继续访问
js 根据屏幕尺寸判断是否为iphone14
前端
javascript
写评