A. js設置div滾動到固定位置
可以設置div的scrollTop值。
div當中有滾動的時候,設置scrollTop可以滾動到指定的滾動頂部位置。如果需要動畫,可以使用css3的過渡或者動畫函數,jquery可以用animate函數。
B. js怎麼控制網頁滾動到指定位置
使用scrollby(x軸,y軸)方法就可以使文檔對象滾動到距離瀏覽器窗口坐標的指定位置上
注意事項
文檔對象可以看做是網頁所有可見內容的存儲容器,網頁所有可見內容稱為頁面
網頁x軸坐標與數學一樣,但是y軸坐標是相反的,向下是正數,向上是負數
頁面移動出去的距離不能和滾動條移動出去的距離對等
滾動條移動出去多少像素才能等達到頁面要移動出去的像素是根據整個頁面的尺寸比例計算的
這個文檔對象移動出去的距離在坐標繫上是一定是負數,但是我們要用正數來表示他距離瀏覽器窗口0,0坐標的距離
這個方法移動的是文檔對象和瀏覽器存儲文檔對象的窗口0,0位置坐標的距離,絕不是滾動條和文檔對象的距離,
移動出去的距離就是文檔對象不可見部分內容和瀏覽器存儲文檔對象的窗口0,0坐標的距離
這個方法使用scroll命名只是因為文檔對象移動出去的距離需要滾動條滾動才能達到效果,便於記憶而已
scrollby()方法是window對象下的方法,document對象及其子對象沒有該方法
document對象及其子對象如果要獲取或設置元素內部內容滾動出去的距離,請使用scrollTop和scrollLeft, 注意該方法是計算的不可見部分移動出去的內容頂端距離容器的距離是從容器內邊距開始計算,而不是邊框
使用scrollby()必須存在滾動條,且有一定的高度才能看出方法的效果
C. 如何使用JS控制DIV內容的滾動條
1、首先需要抄新建一個HTML文檔,這里設立一下基本的架構。
D. js濡備綍鎺у埗鏁翠釜欏甸潰婊氬姩鏉$殑浣嶇疆
鏈変袱縐嶆柟娉曘
1銆侀氳繃div鐨剆crollTop鍙樺姩鎺у埗鍨傜洿婊氬姩鏉′綅緗銆傞氳繃div鐨剆crollLeft鍙樺姩鎺у埗姘村鉤婊氬姩鏉′綅緗銆
紺轟緥錛
<body>
//d1鏄澶栧眰div錛屽甫婊氬姩鏉
<div id='d1' style='height:200px;width:100px;overflow:auto;background:blue;'>
<div style='height:500px;width:500px;background:yellow'>2222</div>
</div>
</body>
<script>
document.getElementById('d1').scrollTop=100;//閫氳繃scrollTop璁劇疆婊氬姩鍒100浣嶇疆
document.getElementById('d1').scrollLeft=200;//閫氳繃scrollTop璁劇疆婊氬姩鍒200浣嶇疆
</script>
2銆佺敤html閿氱偣
濡備笅錛
<ahref="#test">aaaaa</a>
<divid="test">lalallalalalala</div>
鎵╁睍璧勬枡錛
1銆丣avaScript鏄涓縐嶅睘浜庣綉緇滅殑鑴氭湰璇璦,宸茬粡琚騫挎硾鐢ㄤ簬Web搴旂敤寮鍙,甯哥敤鏉ヤ負緗戦〉娣誨姞鍚勫紡鍚勬牱鐨勫姩鎬佸姛鑳,涓虹敤鎴鋒彁渚涙洿嫻佺晠緹庤傜殑嫻忚堟晥鏋溿傞氬父javaScript鑴氭湰鏄閫氳繃宓屽叆鍦℉TML涓鏉ュ疄鐜拌嚜韜鐨勫姛鑳界殑銆侸avascript鑴氭湰璇璦鍚屽叾浠栬璦涓鏍鳳紝鏈夊畠鑷韜鐨勫熀鏈鏁版嵁綾誨瀷錛岃〃杈懼紡鍜岀畻鏈榪愮畻絎﹀強紼嬪簭鐨勫熀鏈紼嬪簭妗嗘灦銆侸avascript鎻愪緵浜嗗洓縐嶅熀鏈鐨勬暟鎹綾誨瀷鍜屼袱縐嶇壒孌婃暟鎹綾誨瀷鐢ㄦ潵澶勭悊鏁版嵁鍜屾枃瀛椼傝屽彉閲忔彁渚涘瓨鏀句俊鎮鐨勫湴鏂癸紝琛ㄨ揪寮忓垯鍙浠ュ畬鎴愯緝澶嶆潅鐨勪俊鎮澶勭悊銆
錛1錛夈佹槸涓縐嶈В閲婃ц剼鏈璇璦錛堜唬鐮佷笉榪涜岄勭紪璇戱級銆
錛2錛夈佷富瑕佺敤鏉ュ悜HTML錛堟爣鍑嗛氱敤鏍囪拌璦涓嬬殑涓涓搴旂敤錛夐〉闈㈡坊鍔犱氦浜掕屼負銆
錛3錛夈佸彲浠ョ洿鎺ュ祵鍏HTML欏甸潰錛屼絾鍐欐垚鍗曠嫭鐨刯s鏂囦歡鏈夊埄浜庣粨鏋勫拰琛屼負鐨勫垎紱匯
錛4錛夈佽法騫沖彴鐗規э紝鍦ㄧ粷澶у氭暟嫻忚堝櫒鐨勬敮鎸佷笅錛屽彲浠ュ湪澶氱嶅鉤鍙頒笅榪愯岋紙濡俉indows銆丩inux銆丮ac銆丄ndroid銆乮OS絳夛級銆
2銆丣avaScript鑴氭湰璇璦鍏鋒湁浠ヤ笅鐗圭偣:
(1)銆佽剼鏈璇璦銆侸avaScript鏄涓縐嶈В閲婂瀷鐨勮剼鏈璇璦,C銆丆++絳夎璦鍏堢紪璇戝悗鎵ц,鑰孞avaScript鏄鍦ㄧ▼搴忕殑榪愯岃繃紼嬩腑閫愯岃繘琛岃В閲娿
(2)銆佸熀浜庡硅薄銆侸avaScript鏄涓縐嶅熀浜庡硅薄鐨勮剼鏈璇璦,瀹冧笉浠呭彲浠ュ壋寤哄硅薄,涔熻兘浣跨敤鐜版湁鐨勫硅薄銆
(3)銆佺畝鍗曘侸avaScript璇璦涓閲囩敤鐨勬槸寮辯被鍨嬬殑鍙橀噺綾誨瀷,瀵逛嬌鐢ㄧ殑鏁版嵁綾誨瀷鏈鍋氬嚭涓ユ牸鐨勮佹眰,鏄鍩轟簬Java鍩烘湰璇鍙ュ拰鎺у埗鐨勮剼鏈璇璦,鍏惰捐$畝鍗曠揣鍑戙
(4)銆佸姩鎬佹с侸avaScript鏄涓縐嶉噰鐢ㄤ簨浠墮┍鍔ㄧ殑鑴氭湰璇璦,瀹冧笉闇瑕佺粡榪嘩eb鏈嶅姟鍣ㄥ氨鍙浠ュ圭敤鎴風殑杈撳叆鍋氬嚭鍝嶅簲銆傚湪璁塊棶涓涓緗戦〉鏃,榧犳爣鍦ㄧ綉欏典腑榪涜岄紶鏍囩偣鍑繪垨涓婁笅縐匯佺獥鍙gЩ鍔ㄧ瓑鎿嶄綔JavaScript閮藉彲鐩存帴瀵硅繖浜涗簨浠剁粰鍑虹浉搴旂殑鍝嶅簲銆
(5)銆佽法騫沖彴鎬с侸avaScript鑴氭湰璇璦涓嶄緷璧栦簬鎿嶄綔緋葷粺,浠呴渶瑕佹祻瑙堝櫒鐨勬敮鎸併傚洜姝や竴涓狫avaScript鑴氭湰鍦ㄧ紪鍐欏悗鍙浠ュ甫鍒頒換鎰忔満鍣ㄤ笂浣跨敤,鍓嶆彁涓婃満鍣ㄤ笂鐨勬祻瑙堝櫒鏀 鎸丣avaScript鑴氭湰璇璦,鐩鍓岼avaScript宸茶澶у氭暟鐨勬祻瑙堝櫒鎵鏀鎸併
鍙傝冭祫鏂欙細鐧懼害鐧劇戱細JavaScript
E. js如何在頁面滾動到一定位置時觸發事件
要實現這樣的效果你需要使用到 滾動條事件 以及 元素在文檔中的絕對定位。
比如我載入了100條微博,第一百條微博這個塊級元素為 myBlock , 使用遞歸往上尋找父元素的方法求得myBlock在文檔中的絕對位置:
function getTop(e)
{
var offset=e.offsetTop;
if(e.offsetParent!=null) //只要還有父元素,也就是當前元素不是根節點就繼續往上累計元素的高度
offset+=getTop(e.offsetParent);
return offset;
}
var myBlockTop = getTop(myBlock);
獲得了第100條微博的絕對高度後注冊滾動條事件:window.addEventListener("scroll",function(){
if(document.body.scrollTop + (document.body.clientHeight || window.innerHTML) >= myBlockTop){
//當當前可視部分底部到達第100條微博的高度坐標時,進入這個if塊
}
}
大概就這么實現,希望對您能有幫助
//----------------------------------------------
IE9以下對W3C標准支持得異常慘烈好像不支持那個window.addEventListener()得使用window.attachEvent('onscroll',function(){.......................});
反正思路是這樣,你自己可以試試
F. 怎麼使用js實現滾動條效果
在JavaScript中,實現滾動條效果可以通過多種方式完成。以下是一些常見的方法:
### 使用`scrollTop`和`scrollLeft`屬性
你可以通過改變`scrollTop`和`scrollLeft`屬性來控制滾動條的位置。這兩個屬性分別控制垂直和水平的滾動位置。
```javascript
// 獲取滾動條位置
console.log(document.getElementById('myElement').scrollTop);
// 設置滾動條位置
document.getElementById('myElement').scrollTop = 100;
```
### 使用`scrollIntoView`方法
`scrollIntoView`方法可以用來滾動頁面,使元素進入視口。你可以通過設置`behavior`參數來控制滾動行為(平滑、快速或默認)。
```javascript
document.getElementById('myElement').scrollIntoView({ behavior: 'smooth' });
```
### 使用CSS和JavaScript結合
你可以使用CSS來隱藏滾動條,然後使用JavaScript來控制滾動內容的大小,從而實現滾動效果。
```css
.scroll-container {
overflow: hidden;
height: 200px;
}
.scroll-content {
width: 100%; /* 或者設置一個大於容器寬度的寬度 */
overflow-y: scroll; /* 添加垂直滾動條 */
}
```
```javascript
const scrollContent = document.querySelector('.scroll-content');
scrollContent.style.height = '500px'; // 設置滾動內容的高度
```
### 使用第三方庫
還有一些第三方庫可以幫助你實現更復雜的滾動效果,例如`marquee`、`scrollReveal`等。
### 示例:創建一個簡單的滾動效果
以下是一個簡單的示例,它使用JavaScript來控制一個滾動容器的內容滾動。
HTML:
```html
<div id="scrollContainer" class="scroll-container">
<div id="scrollContent" class="scroll-content">
<!-- 內容 -->
</div>
</div>
```
CSS:
```css
.scroll-container {
width: 300px;
height: 150px;
overflow: hidden;
}
.scroll-content {
width: 100%;
height: 500px; /* 超過容器的高度 */
background-color: #f0f0f0;
overflow-y: scroll;
}
```
JavaScript:
```javascript
const scrollContent = document.getElementById('scrollContent');
// 假設你想要滾動到特定的位置
scrollContent.scrollTop = 100;
// 或者你可以創建一個滾動函數
function scrollDown() {
if (scrollContent.scrollTop < scrollContent.scrollHeight - scrollContent.clientHeight) {
scrollContent.scrollTop += 1;
} else {
// 滾動到底部
}
}
// 每50毫秒滾動一次
setInterval(scrollDown, 50);
```
在這個示例中,`setInterval`函數每50毫秒調用一次`scrollDown`函數,從而使內容逐漸向下滾動。注意,這個示例只是為了說明如何使用JavaScript控制滾動,實際應用中可能需要更復雜的邏輯。
G. 如何通過JS將滾動條移動到指定元素位置
var container = $('div'),
scrollTo = $('#row_8');
container.scrollTop(
scrollTo.offset().top - container.offset().top + container.scrollTop()
);
// Or you can animate the scrolling:
container.animate({
scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop()
});