❶ 如何通過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()
});
❷ 使用js或jq控制一個div,當滾動到頁面頂部的時候固定在頂部,離開可繼續滾動嗎
代碼:
•$(function(){
•//獲取要定位元素距離瀏覽器頂部的距離
•var navH = $(".nav").offset().top;
•//滾動回條事件
•$(window).scroll(function(){
•//獲取滾動條的滑動答距離
•var scroH = $(this).scrollTop();
•//滾動條的滑動距離大於等於定位元素距離瀏覽器頂部的距離,就固定,反之就不固定
•if(scroH>=navH){
•$(".nav").css({"position":"fixed","top":0});
•}else if(scroH<navH){
•$(".nav").css({"position":"static"});
•}
•})
•})
❸ js怎麼控制網頁滾動到指定位置
使用scrollby(x軸,y軸)方法就可以使文檔對象滾動到距離瀏覽器窗口坐標的指定位置上
注意事項
文檔對象可以看做是網頁所有可見內容的存儲容器,網頁所有可見內容稱為頁面
網頁x軸坐標與數學一樣,但是y軸坐標是相反的,向下是正數,向上是負數
頁面移動出去的距離不能和滾動條移動出去的距離對等
滾動條移動出去多少像素才能等達到頁面要移動出去的像素是根據整個頁面的尺寸比例計算的
這個文檔對象移動出去的距離在坐標繫上是一定是負數,但是我們要用正數來表示他距離瀏覽器窗口0,0坐標的距離
這個方法移動的是文檔對象和瀏覽器存儲文檔對象的窗口0,0位置坐標的距離,絕不是滾動條和文檔對象的距離,
移動出去的距離就是文檔對象不可見部分內容和瀏覽器存儲文檔對象的窗口0,0坐標的距離
這個方法使用scroll命名只是因為文檔對象移動出去的距離需要滾動條滾動才能達到效果,便於記憶而已
scrollby()方法是window對象下的方法,document對象及其子對象沒有該方法
document對象及其子對象如果要獲取或設置元素內部內容滾動出去的距離,請使用scrollTop和scrollLeft, 注意該方法是計算的不可見部分移動出去的內容頂端距離容器的距離是從容器內邊距開始計算,而不是邊框
使用scrollby()必須存在滾動條,且有一定的高度才能看出方法的效果
❹ js設置div滾動到固定位置
可以設置div的scrollTop值。
div當中有滾動的時候,設置scrollTop可以滾動到指定的滾動頂部位置。如果需要動畫,可以使用css3的過渡或者動畫函數,jquery可以用animate函數。
❺ 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
❻ 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(){.......................});
反正思路是這樣,你自己可以試試
❼ 怎樣用javascript實現頁面滾動到指定的控制項
<HTML>
<HEAD>
<!-- 滾動區域坐標大小定位-->
<STYLE type=text/css>
#divContainer {
CLIP: rect(0px 294px 20px 0px); HEIGHT: 20px; LEFT: 0px; OVERFLOW: hidden; POSITION: absolute; TOP: 0px; VISIBILITY: hidden; WIDTH: 294px
}
#divContent {
LEFT: 0px; POSITION: absolute; TOP: 0px
}
</STYLE>
<SCRIPT language=JavaScript>
// 滾動開始
function verifyCompatibleBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
bw=new verifyCompatibleBrowser()
var speed=0
var loop, timer
function ConstructObject(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.';
this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
//內容寬度
this.scrollWidth=bw.ns4?this.css.document.width:this.el.offsetWidth;
//顯示區域寬度
this.clipWidth=bw.ns4?this.css.clip.width:this.el.offsetWidth;
this.left=MoveAreaLeft;
this.right=MoveAreaRight;
this.MoveArea=MoveArea; this.x; this.y;
this.obj = obj + "Object";
eval(this.obj + "=this");
return this;
}
function MoveArea(x,y){
this.x=x;this.y=y
this.css.left=this.x
this.css.top=this.y
}
function MoveAreaRight(move){
//alert("this.scrollWidth="+this.scrollWidth+" objContainer.clipWidth="+objContainer.clipWidth+"\n"+" objContainer.clipWidth-this.scrollWidth="+(objContainer.clipWidth-this.scrollWidth)+"\n"+"this.x="+this.x);
document.getElementById("previous").style.display = "block";
document.getElementById("previousq").style.display = "block";
if(this.x>objContainer.clipWidth-this.scrollWidth){
this.MoveArea(this.x-move,0)
if(loop) setTimeout(this.obj+".right("+move+")",speed)
}
else{
document.getElementById("next").style.display = "none";
document.getElementById("nextq").style.display = "none";
}
}
function MoveAreaLeft(move){
document.getElementById("next").style.display = "block";
document.getElementById("nextq").style.display = "block";
if(this.x<0){
this.MoveArea(this.x-move,0)
if(loop) setTimeout(this.obj+".left("+move+")",speed)
}
else{
document.getElementById("previous").style.display = "none";
document.getElementById("previousq").style.display = "none";
}
}
//滾動方法
function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.right(speed)
else objScroller.left(speed)
}
}
//停止滾動方法
function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
//初始化
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainer')
objScroller=new ConstructObject('divContent','divContainer')
objScroller.MoveArea(0,0)
objContainer.css.visibility='visible'
initialised=true;
if(objScroller.scrollWidth>objContainer.clipWidth){
document.getElementById("previous").style.display = "none";
document.getElementById("next").style.display = "block";
document.getElementById("previousq").style.display = "none";
document.getElementById("nextq").style.display = "block";
}
}
// 滾動結束
</SCRIPT>
</HEAD>
<BODY onload=InitialiseScrollableArea()>
<TABLE border=0 cellPadding=0 cellSpacing=0 height=300 width=360>
<TBODY>
<TR>
<TD background=ckh.files/a_r1_c2.jpg>
<!--滾動區域開始-->
<DIV id=divContainer style="LEFT: 50px; TOP: 50px; VISIBILITY: visible">
<DIV id=divContent>
<nobr>
但一天過去了我始終沒有找到合適的配色方案但一天過去了但一天過去了我始終沒有找到合適的配色方案但一天過去了但一天過去了我始終沒有找到合適的配色方案但一天過去了但一天過去了我始終沒有找到合適的配色方案但一天過去了
</nobr>
</DIV>
</DIV>
<!--滾動區域結束 -->
</TD>
</TR>
<!--滾動按鈕開始 -->
<tr>
<td id=starttd>
<DIV id="previousq">
<A href="javascript:;" onmouseout=CeaseScroll() onmouseover=PerformScroll(-200)>
快進左
</A>
</DIV>
<br><br>
<DIV id="previous">
<A href="javascript:;" onmouseout=CeaseScroll() onmouseover=PerformScroll(-3)>
向左
</A>
</DIV>
</td>
<td>
<DIV id="next">
<A href="javascript:;" onmouseout=CeaseScroll() onmouseover=PerformScroll(3)>
向右
</A>
</DIV>
<br><br>
<DIV id="nextq">
<A href="javascript:;" onmouseout=CeaseScroll() onmouseover=PerformScroll(200)>
快進右
</A>
</DIV>
</td>
</tr>
<!--滾動按鈕結束 -->
</TBODY>
</TABLE>
</BODY>
</HTML>
❽ JS/JAVASCRIPT 選中文本框內的文字 讓滾動條滾動到選中文字的位置
function func(){
var textarea = document.getElementById("textarea");
//首先移動游標到所選文字位置,滾動條自動滾動
MoveCursortoPos('textarea' , 30 );
//再選中文字
textarea.setSelectionRange(30,32);//選中文本框內的文字
//textarea.scrollTop = textarea.scrollHeight;//滾動到底部
//想要修改成只滾動到 選中文字 的位置應該怎麼寫?
}
//設置游標位置
function MoveCursortoPos(id,pos){//定位游標到某個位置
var obj = document.getElementById(id); //獲得元素
pos = pos ?pos :obj.value.length;
if (obj.createTextRange) {//IE瀏覽器 IE瀏覽器中有TextRange 對body,textarea,button有效
var range = obj.createTextRange(); //創建textRange
range.moveStart("character", pos); //移動開始點,以字元為單位
range.collapse(true);//沒有移動結束點直接 折疊到一個點
range.select();//選擇這個點
} else {//非IE瀏覽器
obj.setSelectionRange(obj.value.length, pos);
}
obj.focus();
}