Ⅰ 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(){.......................});
反正思路是這樣,你自己可以試試
Ⅱ js 判斷長度問題
樓主可以用OnKeyDown觸發抄事件 只要襲訪問者按下任意鍵,都會觸發此事件。訪問者不用松開鍵盤,就會觸發此事件
還有 你要把第一個文本框的最大長度KA掉 要不他的長度怎麼也不會超過4的 你看看是這種效果嗎?
-----------------------------
<script>
function tabTextward(){
var oInput = document.getElementById("oTextbox");
var oInput1 = document.getElementById("oTextbox1");
if(oInput.value.length>4){
oInput1.focus();
}
}
</script>
<body>
<form>
<input type=text id=oTextbox OnKeyDown="tabTextward()"/>
<input type=text id=oTextbox1 />
</form>
</body>
</html>