色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript backout

傅智翔1年前8瀏覽0評論

JavaScript中常用的函數之一就是backout函數,用于實現一些常見的網頁可視化功能。如滾輪事件、頁面滾動、頁面縮放等等。這些功能都需要借助backout函數才能實現。

在網頁制作中,很多時候都需要實現圖片、文本等的滑動效果。這時候就可以使用backout函數,實現物體滑動,并控制滑動的速度和運動形式。例如下面的代碼,實現了一個鼠標拖動圖片的效果:

function move(obj,target,moveType,finish){
clearInterval(obj.timer); 
var begin = parseInt(getStyle(obj, "left"));
var end = target;
var speed = moveType == "linear" ? (end-begin) / 20 : (end-begin) / 30;
obj.timer = setInterval(function(){
begin += speed;
if(Math.abs(end-begin)< Math.abs(speed)){
obj.style.left = end + 'px';
clearInterval(obj.timer);
finish && finish();
}else{
obj.style.left = begin + 'px';
}
}, 10);
}
function getStyle(obj, attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return window.getComputedStyle(obj, null)[attr];
}
}
var img = document.getElementById("test");
img.onmousedown = function(e){
var disX = e.clientX - this.offsetLeft;
var disY = e.clientY - this.offsetTop;
document.onmousemove = function(e){
img.style.left = e.clientX - disX + "px";
img.style.top = e.clientY - disY + "px";
}
document.onmouseup = function(){
document.onmousemove = null;
document.onmouseup = null;
move(img,0,"easeOut",function(){console.log("完成");});
}
}

在使用backout函數時,需要注意控制速度和運動形式。本例中,moveType參數用于控制運動形式,"linear"表示勻速運動,"easeOut"表示先快后慢,"easeIn"表示先慢后快等。根據需求可以選擇不同的運動形式。

除了物體運動以外,backout函數還可以應用于頁面滾動效果。例如下面的代碼實現了頁面平滑滾動的效果,其中moveType使用了"easeOut",即先快后慢的運動形式:

var timer = null;
var initial = 0;
function pageMove(target){
clearInterval(timer);
var speed = 0;
timer = setInterval(function(){
var diff = target - initial;
speed = diff >0 ? Math.ceil(diff / 10) : Math.floor(diff / 10);
initial += speed;
window.scrollTo(0,initial);
if(initial == target){
clearInterval(timer);
}
}, 10);
}
document.getElementById("scrollBtn").addEventListener("click", function(){
var target = document.getElementById("scrollTarget").offsetTop;
pageMove(target);
});

通過backout函數,實現頁面平滑滾動的效果,無需使用window.scrollTo方法實現頁面突然跳轉。同時,使用moveType為"easeOut",可以使頁面滾動過程更加自然流暢。

除了物體運動和頁面滾動以外,backout函數還可以應用于頁面縮放效果。例如下面的代碼實現了一個頁面縮放的效果,當點擊按鈕時,頁面中所有元素將會縮小至原來的一半大小:

function zoomOut(){
var arr = document.getElementsByTagName("*");
var length = arr.length;
for(var i=0; i

使用backout函數,實現了頁面中所有元素的縮小效果。在實現頁面縮放效果時,注意設置好縮放的比例,避免頁面布局混亂。

綜上所述,backout函數是實現網頁可視化效果的重要工具之一。在使用backout函數時,需要注意控制速度和運動形式,以便實現所需的效果。同時,在實現網頁可視化效果時,還需要注意頁面布局和尺寸的問題,以保證頁面效果的良好。

下一篇php array類