久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - js做過渡效果是怎么樣做的?

瀏覽:136日期:2023-05-27 17:28:10

問題描述

小白對js不太熟悉,那么請問,我如果js來做點擊按鈕,然后p經過5s移動到右邊500px的地方,這種效果的制作思路是啥?

是先寫好一個class,讓這些效果完全都達到了,然后用js來切換className么?

但是在點擊事件里面,把所有的css效果寫進去? QUQ

問題解答

回答1:

<!DOCTYPE html><html><head><meta charset='utf-8'> <title></title><style> p{ width:100px; height:100px; background:red; transition:all 5s;}p:hover{ width:300px;} #p1{position:relative;width:100px;height:100px; } #p2{position:absolute;width:100%;height:100%;background:#0f0; } #p2.p2{width:200%;height:200%; }</style></head><body><input type=’button’ id=’btn1’/><p><b>注意:</b>該實例無法在 Internet Explorer 9 及更早 IE 版本上工作。</p><p></p> <p id=’p1’><p id=’p2’></p> </p><p>鼠標移動到 p 元素上,查看過渡效果。</p></body> <script>window.onload=function(){ var oBtn=document.getElementById('btn1'),op=document.getElementById('p2'); oBtn.onclick=function(){op.className=’p2’; }}</script></html>

給你個簡單的demo看完就會了,這也只是方法中的一種,方法還有很多!

回答2:

你要的是這樣么?代碼見下方, p 5s移動到500px,可以先給p設置好transition效果,加個移動到右邊的class, js主要做的就是給元素加個class

ps: 只是demo代碼,沒考慮兼容等等情況……

css3

.demo{ border:1px solid #fff; width:100px; height:50px; position:relative; left:0; transition: left 2s;}.run{ left:500px;}

<p class='demo'> </p>

(function(){ document.getElementsByClassName(’demo’)[0].onclick = function(){this.className +=’ run’; };})()回答3:

可以用css,也可以直接用js寫。css的話就用transition寫,具體的百度,點擊事件發生時為元素添加一個class,改變樣式。js的話就用settimeout,以你說的左邊距為例,一點一點改變左邊距,到達指定值時停止即cleartimeout

回答4:

如樓上所說,如果是ie9以下,需要使用定時器做

var ele = document.getElementsByClassName(’demo’)[0]ele.onclick = function(){ var btn = this; setInterval(function(){btn.style.left = parseInt(btn.style.left) + 1 + 'px' },1)}回答5:

一般都是用css3的transition實現過渡效果,要動畫的話用animation,使用js比較耗性能,這里有一些參考文章

回答6:

css3d屬性

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 耒阳市| 林州市| 阿克陶县| 长葛市| 和林格尔县| 抚松县| 遵化市| 镇沅| 塘沽区| 应城市| 青岛市| 神池县| 黑水县| 绥宁县| 班玛县| 巴马| 锡林郭勒盟| 新疆| 侯马市| 抚松县| 浦县| 惠安县| 冕宁县| 上饶县| 邹平县| 班玛县| 边坝县| 富锦市| 通州区| 凤山县| 于田县| 汝城县| 武宣县| 随州市| 祁门县| 于都县| 闸北区| 荣成市| 陵水| 东乌| 德令哈市|