bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

鼠標滾輪事件的應用簡單的滾動條

2024-03-27    分類: 網站建設

  
關關雎鳩,在河之洲。
窈窕淑女,君子好逑。
參差荇菜,左右流之。
窈窕淑女,寤寐求之。
求之不得,寤寐思服。
悠哉悠哉,輾轉反側。
參差荇菜,左右采之。
窈窕淑女,琴瑟友之。
參差荇菜,左右筆之。
窈窕淑女,鐘鼓樂之。
  主容器是用來給里面的東西定位的。內容容器是在滾動的時候調整它的位置以顯示給用戶需要的部分,這個內容容器其實也可以使用scrollTop來實現,不過我比較喜歡使用top來實現。scrollTop的方法的優點是會自動計算滾動的上下限,top的方法我也說不出優點,也許是以前開發桌面程序的緣故,總是覺得top比較有實感。接著是滾動條容器和滾動條按鈕。滾動條容器就是整個滾動條的部分,滾動條按鈕就是在滾動條容器中可以滑動的那個滑塊。滾動條按鈕用a標簽來做比較好,因為a標簽的hover可以兼容低版本瀏覽器,所以用它效果會更好。   接著是CSS的部分 #panel { height:100px;width:200px; overflow:hidden; border:1px solid #CCC; position:relative; } #contents { position:absolute; top:0px;left:0px; font:14px/20px 微軟雅黑; } #scrollbar { width:1px;height:90px; margin:5px; background:#EEE; position:absolute; top:0px;right:0px; } #scrollbtn { position:absolute; width:5px;left:-2px; background:#000; cursor:default; } #scrollbtn:hover {background:#888;}   CSS我就不逐行解釋了,看了效果自然會明白。   最后也是最重要的就是JS部分。由于這個滾動條效果是隨手寫的,沒有做的很完善,而且這篇文章主要是想介紹鼠標滾輪事件的應用,所以對滾動條我只做了鼠標滾輪的響應。如果需要滾動條的,拖動、點擊定位,等效果。就自己研究了寫吧,如果真寫不出,就吱個聲,那樣我下次就再寫一篇文章來說其它的幾個效果。下面是JS代碼 //判斷瀏覽器 var isIE=navigator.userAgent.match(/MSIE (\d)/i); isIE=isIE?isIE[1]:undefined; var isFF=/FireFox/i.test(navigator.userAgent); //聲明變量 var panel,contents,scrollbar,scrollbtn,panel_h,c_h,s_h; //獲取元素 contents=document.getElementById("contents"), scrollbar=document.getElementById("scrollbar"), scrollbtn=document.getElementById("scrollbtn"); panel=document.getElementById("panel"); //計算容器高度 //如果這里直接用offsetHeight會獲取到包含邊框的高度 panel_h=parseInt( isIE<9?panel.currentStyle.height :getComputedStyle(panel).height ); //計算滾動條按鈕的高度 //如果把內容容器比作滾動條容器 //那么內容的可見部分就是滾動條按鈕的高度 //而內容的可見部分就是總容器的高度 //所以這里使用總容器高度除以內容容器高度 //如果你想做內容不足就不出滾動條 //你可以在這里判斷高度,不符合就隱藏掉滾動條 scrollbtn.style.height=( panel_h/contents.offsetHeight*100 )+"%"; //計算內容可移動的大距離 c_h=contents.offsetHeight-panel_h; //計算滾動條可移動的大高度 s_h=scrollbar.offsetHeight-scrollbtn.offsetHeight; //創建move方法來移動內容和滾動條 //這個方法的參數是鼠標滾輪滾動的格數 panel.move=function(i){ //計算內容位置 //這里的20是內容的行高,當然也可以是其它值 //但是使用內容的行高對于用戶來說是最友好的 var top=contents.offsetTop+(20*i); //處理位置上下限,防止滾動條溢出 //如果使用scrollTop的方法來做就不需要這個步驟 if(top>0)top=0; if(top<-c_h)top=-c_h; //移動內容位置 contents.style.top=top+"px"; //移動滾動條按鈕位置 //這個計算的原理其實很簡單 //滾動條容器和滾動條按鈕與內容容器和內容可見高度是等比例關系 scrollbtn.style.top=-top/c_h*s_h+"px"; }; //最后是鼠標滾輪事件 //這里同時設置了DOMMouseScroll和onmousewheel事件 //所以可以全兼容,事件參數則在事件中再做判斷 //這個做法的效率不如昨天的完整代碼效率高 //但是鼠標滾輪是一個慢事件,我們可以不要太在乎效率 //至少,這次的代碼比昨天的簡單了好多 panel.addEventListener("DOMMouseScroll", panel.onmousewheel=function(e){ e=e||event; //判斷瀏覽器,并計算事件參數 var v=isFF?-e.detail/3:e.wheelDelta/120; panel.move(v); isIE<9||e.preventDefault(); return false; } ,false);

好了,注釋已經非常詳細了。注釋中已經把滾動條的計算方法說的很清楚了,如果你想實現滾動條的拖動,根據上面說的計算方法也很容易實現。如果還有什么不明白的可以提問。 本文來源于成都網站建設公司與成都網站設計制作公司-創新互聯成都公司!

本文標題:鼠標滾輪事件的應用簡單的滾動條
當前地址:http://vcdvsql.cn/news47/322047.html

成都網站建設公司_創新互聯,為您提供網站收錄網站設計做網站定制網站動態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設