手机端怎么通过js设置viewport

JavaScript033

手机端怎么通过js设置viewport,第1张

首先你要设置meta viewport属性。

<meta name="viewport" content="width=device-width, target-densityDpi=device-dpi, user-scalable=yes">

然后再JS代码中设置如下代码

var viewport = document.querySelector("meta[name=viewport]")

var winWidths=$(window).width()

var densityDpi=640/winWidths

densityDpi= densityDpi>1?300*640*densityDpi/640:densityDpi

if(isWeixin()){

viewport.setAttribute('content', 'width=640, target-densityDpi='+densityDpi)

}else{

viewport.setAttribute('content', 'width=640, user-scalable=no')

window.setTimeout(function(){

viewport.setAttribute('content', 'width=640, user-scalable=yes')

},1000)

}

function isWeixin(){

var ua = navigator.userAgent.toLowerCase()

if(ua.match(/MicroMessenger/i)=="micromessenger") {

return true

} else {

return false

}

}

1.toggle():

toggle()方法除了模拟鼠标连续单击事件之外,同时会动态的隐藏改变当前元素的高度,宽度和不透明度,最终切换当前元素的可见状态。如果元素可见,则切换隐藏状态,如元素隐藏,切换可见状态

2.fadeln()与fadeOut()

这两个方法,实现了淡入和淡出的一个动画效果,fadeln()渐显效果,fadeout()渐隐效果,两者结合使用,可把元素隐藏在按钮中,在通过点击事件显示,两方法只改变元素的透明度,不修改其他属性

3.fadeToggle()

此方法会动态的改变当前元素的透明度,最终却换当前元素的可见状态。如果元素是可见的,则通过淡出效果切换隐藏;如果元素是隐藏的,则通过淡入效果切换可见状态,不设置参数时,默认0.4秒内发生淡入与淡出的动画效果

4.fadeTo()

fadeln()与fadeOut()方法都是渐隐渐显,透明度从1到0,从0到1实现一个渐隐渐显效果,而fadeToggle()方法则是可以控制1-0的透明度,为更好展示透明度的效果,可在页面中创造一个下拉框,用于保存透明度值,操作下拉框去控制图片透明度值

5.slideDown()与 slideUp()

slideDown()可改变元素高度,呈现一个滑动效果,由上往下滑动,直到显示最终的当前元素,slideUp()相反,由下往上滑动,直到隐藏最终的当前元素

6.slideToggle()

slideToggle()方法跟slideDown()与 slideUp() 两个方法有异曲同工之妙,同样可改变元素的高度,不同于slideDown()与 slideUp() 的效果, 这个方法是通过点击事情控制元素的隐藏和显示

7.animate()

这个方法是自定义动画效果的方法,高度,宽度,透明度,运行速度都是可通过自定义给属性,这个方法只能改变可以取数字值的css属性,如:大小,边框,内外边距,定位,字体,文本,背景,透明度。

8.stop()

停止动画,stop()方法能结束当前的动画,并立即进入到下一个动画。

参数基本上都是固定的,我们实际关心的是相机的摆放位置和朝向。

相机的位置如果不设定,默认是在原点(0,0,0)的位置。而物体如果不指定位置,默认也是创建在原点的。这样的话,相机就在物体的肚子里面了,这样是看不到物体的。

相机放好了,然后就得保证镜头的朝向。如果你把镜头朝向物体的反方向,这样是拍摄不到物体的。

我们一般设定相机是朝向原点位置,这样可以保证看到物体。

下面是一个相机由近及远的效果。

通过图示看到,一开始是看不到物体的,因为相机在物体肚子里面,然后慢慢移动镜头跳出物体才看到物体。