應用場景:php
「靈感編程」網站的後臺,在添加記錄以後,body自動滾動從而定位到該行記錄(方便繼續添加);html
使用的代碼:編程
所在位置:網站
D:\yfwww\kuihua\Application\Tpl\Houtai\Public\js\Common\init.jsui
相關代碼:htm
$(function(){blog
var last_top=300;get
// var last_top=1000;it
var gundong_top=0;io
// 須要移動的距離
var obj=$('.table tr[class=current_item]');
console.log(obj);
// if (obj.length!=0) {
// if (obj) {
if (obj.offset().top) {
// if (obj != undefined) {
var self_top=obj.offset().top;
// console.log('self_top='+self_top);
if (self_top>last_top) {
gundong_top=self_top-last_top;
}
$('html,body').animate({
scrollTop: gundong_top,
}, 400,"swing",function (){
});
}
});
使用其餘方式,均提示這樣的錯誤:
解決方案:
從上面console.log()中能夠看到,若是沒找到,這length爲0,因此要使用length是否爲0的檢測方式才能夠正確:
即:最後正確的代碼爲:
$(function(){
var last_top=300;
var gundong_top=0;
// 須要移動的距離
var obj=$('.table tr[class=current_item]');
if (obj.length!=0) {
var self_top=obj.offset().top;
if (self_top>last_top) {
gundong_top=self_top-last_top;
}
$('html,body').animate({
scrollTop: gundong_top,
}, 400,"swing",function (){
});
}
});
成功執行後,能夠正肯定位,如圖:
本文代碼查詢:
詳細查看地址: