js放大鏡特效

2022-08-28 03:21:12 字數 779 閱讀 5657

原理分析:當滑鼠在小上移動時,通過捕捉滑鼠在小上的位置,定位大的相應位置。(同時,當滑鼠在小上移動時,右側大往相反的方向移動。)

放大鏡特效設計:

②事件捕獲:onmouseover(當滑鼠指標移動到指定物件上時發生)、onmouseout(當滑鼠指標移除指定物件時發生)、onmousemove(當滑鼠指標移動時發生)

③技術難點:offsetleft(相對于父元素的左位移)、offsettop (相對于父元素的頂部位移)

注:offsetleft和style.left的區別:a. 後者返回字串(10px),前者返回數值(10);

b. 後者是可讀寫的,前者是唯讀的。所以要改變元素的位置要用style.left;

c. style.left需要提前定義,否則取到的是空值;

d. offestleft只針對html中設定的值有效,在css中設定的無法識別。

offsetwidth/offsetheight 元素所展現出的寬高

event.clientx/event.clienty 元素相對於頁面的橫縱座標

製作放大鏡特效所需的計算

其中,小img寬和大img寬已知,放大鏡寬和可視區域寬已知,通過滑鼠左移可以求得大右移,確定大位置。

開發放大鏡特效:

小左位移/(大img寬-小img寬) = ?/(可視區域寬 - 放大鏡寬)

相容性問題:

因為在ie瀏覽器中,容易中放入或者span等的時候,但是當滑鼠移入時,會被認為是已經移除了容器,而接下來緊接著又觸發了onmouseover事件,因此造成了放大鏡特效的反覆閃爍。

放大鏡特效

掌握頁面元素定位和移動 放大鏡關鍵原理 滑鼠在小上移動時,通過捕捉滑鼠在小上的位置定位大的相應位置 技術點 事件捕獲 定位 offsetleft與style.left的對比 1 offsetleft是與父級元素的距離,不包過滾動條的距離 2 style.left返回的是字串,如30px,offset...

JS放大鏡特效(相容版)

原理 1.滑鼠在小上移動時,通過捕獲滑鼠在小上的位置,定位大的相應位置 設計1.頁面元素 小 大 放大鏡 2.技術點 事件捕獲 定位 1 onmouseover 會在滑鼠指標移動到指定的物件上時發生 2 onmouseout 會在滑鼠指標移出指定的物件時發生 3 onmousemove 會在滑鼠指標...

JS放大鏡特效(相容版)

原理 1.滑鼠在小上移動時,通過捕獲滑鼠在小上的位置,定位大的相應位置 設計2.技術點 事件捕獲 定位 1 onmouseover 會在滑鼠指標移動到指定的物件上時發生 2 onmouseout 會在滑鼠指標移出指定的物件時發生 3 onmousemove 會在滑鼠指標移動時發生 4 各邊距表示 5...