固定右侧边栏滚动特效_html/css_WEB-ITnose
一、前言
我们都知道:浏览网页时,右(左)侧边栏的高度往往没有文章主体内容的高度高。当页面向下滑动高度超出右(左)侧边栏高度的时候,右(左)侧边栏就不可见了。
怎样让右(左)侧边栏一直部分显示呢?
解决方案:当右(左)侧边栏底部可视化时,就固定在可视化区域的底部。即当滚动的高度加上屏幕(可视化区域)高度大于右(左)侧边栏高度的时候,固定右(左)侧边栏。
二、具体实现代码
2.1 JavaScript 技术实现固定右侧边栏滚动特效
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> <title>JavaScript技术实现固定右侧边栏滚动特效</title> <meta name="keywords" content=""> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"> <link rel="shortcut icon" href="img/favicon.ico"> <link rel="apple-touch-icon" href="img/touchicon.png"> <link rel="stylesheet" href="css/style.css"> </head> <body> <div id="main"> <article id="content"> <!--CODE--> </article> <aside id="sidebar"> <!--CODE--> </aside> </div> <script> //通过一个元素的id获得这个元素的DOM引用 var $ = function(id) { return document.getElementById(id); } //监听window的滚动事件,事件绑定函数 ////addEvent函数:用于给一个元素绑定多个事件 var addEvent = function(obj, event, fn) {//三个参数分别为元素对象名字、绑定事件、触发的回调函数 if(obj.addEventListener) { obj.addEventListener(event, fn, false); }else if(obj.attachEvent) {//IE浏览器兼容 obj.attachEvent('on'+event, fn); } } var domSider = $('sidebar'); var scrollEvent = function() { var sidebarHeight = domSider.offsetHeight;//右侧边栏高度 var screenHeight = document.documentElement.clientHeight || document.body.clientHeight;//屏幕高度 var scrollHeight = document.documentElement.scrollTop || document.body.scrollTop;//滚动高度 if(scrollHeight + screenHeight > sidebarHeight) { domSider.style.cssText = 'position:fixed;right:0px;top:' + (-(sidebarHeight - screenHeight)) + 'px'; }else{ domSider.style.position = 'static'; } } //解决缩小页面刷新后右侧边栏空白和放大页面右侧边栏底部白边的方法 addEvent(window, 'scroll', function() {//当执行滚动时触发scrollEvent事件 scrollEvent(); }); addEvent(window, 'resize', function() {//当resize时触发scrollEvent事件 scrollEvent(); }); </script> </body></html>
2.2 jQuery 技术实现固定右侧边栏滚动特效
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> <title>jQuery技术实现固定右侧边栏滚动特效</title> <meta name="keywords" content=""> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"> <link rel="shortcut icon" href="img/favicon.ico"> <link rel="apple-touch-icon" href="img/touchicon.png"> <link rel="stylesheet" href="css/style.css"/> </head> <body> <div id="main"> <article id="content"> <!--CODE--> </article> <aside id="sidebar"> <!--CODE--> </aside> </div> <script src="https://code.jquery.com/jquery.js"></script> <script> var jWindow = $(window);//jqueryWindow对象 jWindow.scroll(function() {//事件绑定,监听window上的滚动对象 var windowHeight = jWindow.scrollTop() + jWindow.height();//滚动高度+屏幕高度 var sidebarHeight = $('#sidebar').height();//右侧边栏高度 if(windowHeight > sidebarHeight) {//设置fixed条件判断(滚动高度+屏幕高度>右侧边栏高度) $('#sidebar').css({ 'position' : 'fixed', right : '0px', top : -(sidebarHeight - $(window).height()) }); }else{ $('#sidebar').css({ 'position' : 'static' }); } }); //解决缩小页面刷新后右侧边栏空白和放大页面右侧边栏底部白边的方法 window.onload = function() {//当执行滚动时触发scrollEvent事件 jWindow.trigger('scroll'); }; jWindow.resize(function() {//当resize时触发scrollEvent事件 jWindow.trigger('scroll'); }); </script> </body></html>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.
