[英]convert javascript code to jQuery
我想將此JavaScript代碼更改為jQuery代碼,但由於某些原因,當我通常以ID定位它時,它無法正常工作。
JavaScript代碼:
scroll(xpos, ypos) {
document.getElementById('content_section').scrollTop=xpos;
}
jQuery代碼(我寫過):
scroll(xpos, ypos) {
$('#content_section').scrollTop();
}
我做錯了什么? 我需要它才能在Internet Explorer上工作。
對於我的一些答案,我嘗試添加scrollTop(xpos); 考慮到IE問題,它仍然無法正常工作。
$('#content_section').scrollTop(xpos);
因為scrollTop()
接受參數作為滾動目標。
不帶參數的.scrollTop()
就像getter方法一樣工作,這意味着
$('#content_section').scrollTop(); // without argument
將為您提供#content_section
當前滾動位置。
但是帶有參數,它作為setter方法,意味着
$('#content_section').scrollTop(xpos); // with argument
會將#content_section
設置為您通過參數傳遞的位置。
function scroll(xpos, ypos) {
// you need to set argument xpos
$('#content_section').scrollTop(xpos);
}
也許你可以嘗試
function scroll() {
$('#content_section').scrollTo({left: xpos, top: ypox}, 400);
}
您是否在jQuery方法中添加了xpos的值:
$('#content_section').scrollTop(ypos);
我在IE8中測試了以下代碼,並且可以工作。 請看一下。
<script type="text/javascript">
function scroll(xpos, ypos) {
$('#content_section').scrollTop(ypos);
}
</script>
<form id="form1" runat="server">
<input type="button" id="btn" value="scroll" onclick='scroll(0,0);' />
<div id="content_section" style="overflow: auto; height: 60px; width: 60px;">
a<br /> a<br /> a<br /> a<br /> a<br />
a<br /> a<br /> a<br /> a<br /> a<br /> a<br />
</div>
</form>
$('#content_section').scrollTop();
那只會返回元素的位置。 如果要設置它,請使用。
$('#content_section').scrollTop(xpos);
xpos當然是到頁面頂部的距離。
編輯:
function scroll(xpos, ypos) {
// you need to set argument xpos
$('#content_section').scrollTop(ypos);
}
$(document).ready(function(){
scroll(0,150)
});
嘗試看看是否可行。 注意,該元素必須是可滾動的,我不知道您在做什么,但是,如果整個頁面小於窗口,那么它將不會滾動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.